ruby - 为什么我无法加载 Nokogiri?

标签 ruby rvm nokogiri

我通过运行安装了 Nokogiri,没有任何问题:

$ sudo gem install nokogiri
Building native extensions.  This could take a while...
Successfully installed nokogiri-1.5.9
1 gem installed
Installing ri documentation for nokogiri-1.5.9...
Installing RDoc documentation for nokogiri-1.5.9...

当我运行 nokogiri.rb 时:

#!/usr/bin/ruby -w

require 'nokogiri'

puts "Current directory is: #{ Dir.pwd }"
Dir.chdir("/home/askar/xml_files1") do |dirname|

  puts "Now in: #{ Dir.pwd }"
  xml_files = Dir.glob("ShipmentRequest*.xml")

  if xml_files.empty?
    puts "#{ dirname } is empty."
  else
    xml_files.each do |file|
      doc = Nokogiri::XML(open(file))
      # ... do something with the doc ...
    end
  end
end

我得到了错误:

$ ruby nokogiri.rb 
/home/askar/.rvm/rubies/ruby-1.9.3-p429/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- nokogiri (LoadError)
  from /home/askar/.rvm/rubies/ruby-1.9.3-p429/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'

我使用的是 Ruby 1.9.3,但出于某种原因它指的是 Ruby 1.9.1。这可能是原因吗?

最佳答案

如果仔细观察,路径以 /home/askar/.rvm/rubies/ruby-1.9.3-p429 开头,所以加载路径应该是正确的。

您的问题是您使用了 sudo,它将为系统 ruby​​ 安装 gem。不使用 sudo 再试一次,只是

gem install nokogiri

为当前的 rvm ruby​​ 安装 gems。

关于ruby - 为什么我无法加载 Nokogiri?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16850979/

相关文章:

html - 清理 HTML 并关闭不完整的标签

ruby - 这是将通知推送到另一个网络服务器的正确方法

bash - [[ : Command not found

rvm - 错误 : Unrecognized command line argument: 'pkg' ( see: 'rvm usage' )

ruby - MacVim 中的 command-t 插件 - 使 MacVim 无法工作

ruby - Nokogiri 的简单 XML 解析示例

android - 使用 calabash-android 获取元素的颜色

ruby-on-rails - 我如何使用 puffing-billy 和 VCR 来防止测试 stripe 的结帐创建无穷无尽的新文件?

ruby - 使用 XPath 查找特定 namespace 中的所有属性

ruby-on-rails - Rake 任务失败没有要加载的文件 -- nokogiri/nokogiri for Rails 2.2.2