问题描述
我试图使用ruby1.9.1在Ubuntu Natty Narwhal 11.04上安装rails。
我使用包含dev包的apt-get install ruby1.9.1-full
安装了ruby。我用Google搜索了错误,所有人都建议我安装我已经拥有的1.9.1-dev。
Building native extensions. This could take a while...
ERROR: Error installing rails:
ERROR: Failed to build gem native extension.
/usr/bin/ruby1.8 extconf.rb
extconf.rb:36:in `require': no such file to load -- mkmf (LoadError)
from extconf.rb:36
Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/bcrypt-ruby-3.0.1 for inspection.
Results logged to /usr/lib/ruby/gems/1.8/gems/bcrypt-ruby-3.0.1/ext/mri/gem_make.out
最佳解决方案
经过一些搜索解决方案,结果证明需要-dev
包,而不仅仅是ruby1.8
。所以如果你有ruby1.9.1
那么做
sudo apt-get install ruby1.9.1-dev
或者要安装通用的ruby版本,请使用(根据@lamplightdev评论):
sudo apt-get install ruby-dev
应该解决它。
尝试使用locate mkmf
查看文件是否确实存在。
次佳解决方案
这个答案对我有用。在上面的评论中,但作为ubuntu 12.04 ruby 1.8.7的答案应该得到应有的地位
sudo apt-get install ruby-dev
# if above doesnt work make sure you have build essential
sudo apt-get install build-essential
第三种解决方案
我还需要安装build-essential:
sudo apt-get install build-essential
第四种方案
问题仍然是Ubuntu 13/04 /13.10 /14.04的递归问题
和
sudo apt-get install ruby1.9.1-dev
为我做好了没关系。所以,如果您使用的是Ubuntu 13.04 /13.10 /14.04,那么使用它将会派上用场。
即使ruby版本是1.9.3,这也适用。这是因为存储库中没有可用的ruby1.9.3-dev …
第五种方案
你有没有尝试过:
sudo apt-get install ruby1.8-dev
第六种方案
安装捆绑时我遇到了类似的错误
sudo apt-get install ruby-dev
对我有用并解决问题Mint 16 ruby1.9.3
第七种方案
我觉得有点晚了但是
sudo yum install -y gcc ruby-devel libxml2 libxml2-devel libxslt libxslt-devel
在fedora为我工作。
http://nokogiri.org/tutorials/installing_nokogiri.html