从文本编辑器运行 .rb 文件时无法加载 Nokogiri gem,但它在 Ruby 命令外壳中工作正常



我使用闪烁体文本编辑器和Sublime文本2。

每当我使用它们来运行包含以下内容的Ruby脚本时:

require 'nokogiri'

我得到这个错误:

C:/Program Files (x86)/ruby-1.9.2/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': no such file to load -- nokogiri (LoadError)
from C:/Program Files (x86)/ruby-1.9.2/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from C:/Users/MY_RUBY_SCRIPT.rb:3:in `<main>'

我使用的是Ruby 1.9.3,我确定需要rubygems,但我还是收到了错误。

但是,当我从带有Ruby的命令提示符运行该脚本时,该脚本运行良好。

有人知道为什么脚本在文本编辑器中失败,但在命令提示符中失败吗?

也许您的编辑器运行的是不同版本的Ruby。您可以通过运行进行检查

puts RUBY_VERSION

原来我同时安装了Ruby 1.9.2和1.9.3,这导致了SciTE中的冲突,SciTE试图在Ruby 1.9.2而不是1.9.3中找到gem。我卸载了1.9.2,脚本运行良好。如果我将来真的需要1.9.2,我想我必须学习RVM。

最新更新