【问题标题】:Rails Tutorial: nokogiri-1.5.2 error on bundle installRails 教程:捆绑安装时出现 nokogiri-1.5.2 错误
【发布时间】:2012-05-05 22:40:05
【问题描述】:

在完成Ruby on Rails Tutorial 第 3 章的 RVM 设置、rspec 和保护部分之后,每当我运行 bundle install 时,我都会收到以下错误转储:

Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

    /usr/bin/ruby1.9.1 extconf.rb 
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- mkmf (LoadError)
from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from extconf.rb:5:in `<main>'


Gem files will remain installed in /home/dan/.bundler/tmp/17577/gems/nokogiri-1.5.2 for inspection.
Results logged to /home/dan/.bundler/tmp/17577/gems/nokogiri-1.5.2/ext/nokogiri/gem_make.out
An error occured while installing nokogiri (1.5.2), and Bundler cannot continue.
Make sure that `gem install nokogiri -v '1.5.2'` succeeds before bundling.

在 gem_make.out 中:

Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

    /usr/bin/ruby1.9.1 extconf.rb 
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file --mkmf (LoadError)
from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from extconf.rb:5:in `<main>'

我已经调试了一段时间,我想我被卡住了。非常感谢您的帮助!

【问题讨论】:

  • 捆绑安装是否与 nokogiri 一起工作?
  • @VidurMurali: nokogiri 不在我的 Gemfile 中,只是一个依赖项,我不确定哪些 gem 依赖于它,所以我不知道如何阻止 bundle 尝试安装它。
  • @DVG:我不确定是不是这样。我完全不熟悉直接的 Ruby(甚至是 Rails),所以很难判断这在这种情况下是否有效。
  • sudo aptitude install ruby1.9.1-dev ?

标签: ruby-on-rails rubygems nokogiri railstutorial.org


【解决方案1】:

您需要用于为 Ruby 编译扩展模块的头文件。

您可以通过以下方式获得适合您的 ruby​​ 版本的正确版本:

sudo aptitude install ruby-dev

【讨论】:

  • 值得注意的是ruby1.9.1实际上是Ruby 1.9.2
  • 通用解决方案是使用sudo apt-get install ruby-dev。假设您使用的是 Debian/Ubuntu 或衍生产品,它将匹配您的发行版中的任何 ruby 软件包。
  • @Zenexer:谢谢,你的回答其实就是解决方案!
猜你喜欢
  • 2013-06-16
  • 2012-04-01
  • 2017-07-11
  • 2019-11-05
  • 2015-05-15
  • 1970-01-01
  • 1970-01-01
  • 2021-10-27
  • 2013-08-23
相关资源
最近更新 更多