我试图使用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
答案 0 :(得分:975)
在搜索了一些解决方案之后,事实证明需要-dev
个包,而不仅仅是ruby1.8
。所以如果你ruby1.9.1
做了
sudo apt-get install ruby1.9.1-dev
或安装通用ruby版本,使用(根据@lamplightdev评论):
sudo apt-get install ruby-dev
应该修复它。
尝试locate mkmf
查看文件是否确实存在。
答案 1 :(得分:185)
这个答案对我有用。在上面的评论中,但应该得到合适的地方作为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
答案 2 :(得分:37)
我还需要build-essential安装:
sudo apt-get install build-essential
答案 3 :(得分:30)
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 ...
答案 4 :(得分:17)
你试过了吗?
sudo apt-get install ruby1.8-dev
答案 5 :(得分:10)
安装捆绑包时出现类似错误
sudo apt-get install ruby-dev
非常适合我并解决问题 薄荷16 ruby1.9.3
答案 6 :(得分:2)
我觉得有点晚了但是
sudo yum install -y gcc ruby-devel libxml2 libxml2-devel libxslt libxslt-devel
在fedora上为我工作。
答案 7 :(得分:1)
你有Ruby 1.8,所以你需要升级到至少1.9以使其正常工作。
如果是,请检查How to install a specific version of a ruby gem?
如果这样做无效,请重新安装ruby-dev
。
答案 8 :(得分:0)
您可以使用RVM(Ruby版本管理器)来帮助您管理计算机上所有版本的ruby,这对您的开发非常有用(当迁移到不稳定版本到稳定版本时)
或者对于Linux(ubuntu)来说
sudo apt-get install ruby1.8-dev
然后sudo gem install rails
验证它是rails -v
它将在轨道上显示版本
之后,您可以安装捆绑包(开发所需的宝石)
答案 9 :(得分:0)
Ruby版本:2.7.1 宝石版本:3.1.3
您需要检查无法安装的扩展,并找到原因。
阅读安装错误下显示的 mkmf.log 文件:“要查看此扩展为何无法编译,请检查mkmf.log,可在此处找到” ,也许缺少一个lib(有时是iconv),您必须安装它。
您也可以使用包管理器(apt,yum,pacman ...)搜索扩展名。
gem install rails
给我看
要查看此扩展为何无法编译,请检查mkmf.log 可以在这里找到: /home/user/.gem/ruby/2.7.0/extensions/x86_64-linux/2.7.0/ nokogiri -1.10.9 / mkmf.log
转到:https://aur.archlinux.org/packages/ruby-nokogiri/
make
git clone
包裹cd
打包makepkg
包裹希望有帮助!