为什么Nokogiri只需要在超级用户模式下工作?

时间:2013-04-07 23:53:58

标签: ruby linux rubygems nokogiri

当我运行名为wc.rb的文件时,我一直收到错误。我输入:

ruby wc.rb

但我一直收到这个错误:

    /usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require': cannot load such file -- nokogiri (LoadError)
from /usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
from wc.rb:3:in `<main>'

但是,当我使用:

运行相同的脚本时,它可以正常工作
    sudo ruby wc.rb 

我有什么办法可以让我不必以超级用户身份运行这个脚本吗?

1 个答案:

答案 0 :(得分:3)

使用sudo运行时是否运行相同版本的Ruby?如果sudo ruby -v返回的内容与ruby -v不同,则可能只在Ruby 2.0 gem位置安装了Nokogiri gem,而不是与系统默认版本的Ruby相关联的gem位置。

更新:如果您最初使用sudo安装了Nokogiri gem,则可能需要先使用sudo(sudo gem uninstall nokogiri)将其卸载并重新安装,而不使用sudogem install nokogiri),以确保权限正确。