0

我使用 Scintilla 文本编辑器和 Sublime Text 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 并且我确保需要 ruby​​gems,但我仍然得到了错误。

但是,当我使用 Ruby 从命令提示符运行脚本时,脚本运行良好。

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

4

2 回答 2

1

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

puts RUBY_VERSION
于 2012-09-03T17:56:02.813 回答
0

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

于 2012-09-11T00:03:48.337 回答