我试图使用 ruby1.9.1 在 Ubuntu Natty Narwhal 11.04 上安装 rails。
我使用包含开发包的 apt-get install ruby1.9.1-full
安装了 ruby。我用谷歌搜索了这个错误,所有人都建议我安装我已经拥有的 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
sudo apt-get install ruby1.9.1-dev
与 ruby 1.9.3 一起使用,这使我能够构建 rails 扩展。不确定像这样的不匹配版本是否会在以后让我感到头疼,但应该注意的是,使用官方接受的答案的轻微改动正确安装了导轨。
我还需要安装 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
您拥有 Ruby 1.8,因此您需要至少升级到 1.9 才能使其正常工作。
如果是,请检查 How to install a specific version of a ruby gem?
如果这没有帮助,请再次重新安装 ruby-dev
。
您可以使用 RVM(Ruby 版本管理器),它有助于管理您机器上的所有 ruby 版本,这对您的开发非常有帮助(从不稳定版本迁移到稳定版本时)
或者对于 Linux (ubuntu) 去 sudo apt-get install ruby1.8-dev
然后 sudo gem install rails
验证它是否执行 rails -v
它会在 rails 上显示版本
之后,您可以安装捆绑包(开发所需的 gem)
Ruby 版本:2.7.1 gem 版本:3.1.3
您需要检查无法安装的扩展,并找出原因。
阅读安装错误时显示的 mkmf.log 文件“要查看此扩展无法编译的原因,请检查可在此处找到的 mkmf.log”,可能缺少 lib(有时为 iconv),您必须安装它。
你也可以用你的包管理器(apt、yum、pacman...)搜索扩展。
(个人案例)Arch Linux->nokogiri
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 到 package makepkg 软件包
希望有所帮助!
ruby-all-dev
,它可能适用于所有版本。