1

我在运行 OSX 10.8.3、Ruby 2.0.0p0、Rails 3.2.13 的系统上安装了 nokogiri。尝试运行以开头的简单测试脚本时

require 'rubygems'
require 'nokogiri'
require 'open-uri'

我得到错误:

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- nokogiri (LoadError)
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `require'
from /Users/jerome/Documents/MyFiles/Developer/testruby.rb:2

nokogiri 目前是否支持 OSX 上的 Ruby 2.0?

编辑:从 Sublime Text 2 构建时出现此问题。脚本在 irb 上运行良好。

4

2 回答 2

1

支持 Nokogiri。

在最初的问题中,我是从 Sublime Text 2 构建的。这产生了错误,而在 irb 上这样做效果很好。

http://rubenlaguna.com/wp/2012/12/07/sublime-text-2-rvm-rspec-take-2/的解决方案对我有用。这改变了 Sublime 查找 Ruby 的默认路径。

解决方案:

更新 ~/Library/Application\ Support/Sublime\ Text\ 2/Packages/Ruby/Ruby.sublime-build 到

{
  "env":{
      "PATH":"${HOME}/.rvm/bin:${PATH}"
  },
  "cmd": ["rvm-auto-ruby", "$file"],
  "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
  "selector": "source.ruby"
}

另外,我为我最初没有发布我从 Sublime Text 2 中得到错误的错误道歉。

于 2013-04-07T07:41:10.603 回答
0

错误输出中显示的路径表明您使用的是系统默认版本的 Ruby (1.8.7),因为它引用/System/Library/Frameworks/Ruby.framework/Versions/1.8. 您可能需要确保使用正确ruby的 2.0 二进制文件。

如果你是通过 RVM 安装的,你可以运行类似的东西,或者在你的源项目中rvm use 2.0.0使用一个.ruby-version或文件。.rvmrc或者直接调用 2.0.0ruby二进制文件。

于 2013-04-07T07:10:52.093 回答