在带有 Ruby 2.0.0-p353 的 Mac OSX 雪豹上安装 Nokogiri Gem 时出现问题



我已经尝试使用自制软件和Macport在我的rvm ruby 2.0.0-p353上安装nokogiri,按照此处的nokogiri安装页面上的说明进行操作:

http://nokogiri.org/tutorials/installing_nokogiri.html

在两者中,我都收到完全相同的错误消息,即错误文件描述符,如下所示:

→ sudo gem install nokogiri
Fetching: mini_portile-0.5.2.gem (100%)
Successfully installed mini_portile-0.5.2
Fetching: nokogiri-1.6.1.gem (100%)
Building native extensions.  This could take a while...
ERROR:  Error installing nokogiri:
    ERROR: Failed to build gem native extension.
    /Users/Bharat/.rvm/rubies/ruby-2.0.0-p353/bin/ruby extconf.rb
/Users/Bharat/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/mkmf.rb:292:in `initialize_copy': Bad file descriptor (Errno::EBADF)
    from /Users/Bharat/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/mkmf.rb:292:in `initialize_dup'
    from /Users/Bharat/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/mkmf.rb:292:in `dup'
    from /Users/Bharat/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/mkmf.rb:292:in `<module:Logging>'
    from /Users/Bharat/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/mkmf.rb:289:in `<module:MakeMakefile>'
    from /Users/Bharat/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/mkmf.rb:47:in `<top (required)>'
    from /Users/Bharat/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/Bharat/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from extconf.rb:5:in `<main>'
extconf failed, exit code 1

搜索此错误会发现与jRuby相关的信息很少,但我正在使用MRI。

我在这里为那些可能需要它的人回答我自己的问题。 事实证明,这是一个与特定"旧"版本的OS-x有关的问题。 我还没有从Snow Leopard osx 10.6.8升级我的Mac-没有具体的原因,只是:)

为了安装 Ruby 2.0.0-p353

或更高版本,例如 Ruby-2.1.0-p0,您应该执行以下操作:

RVM 安装 Ruby-2.1.0 --禁用二进制

如以下链接所述:

https://github.com/wayneeseguin/rvm/issues/2511

这使我可以毫无问题地安装nokogiri和调试器gem。

最新更新