3

运行名为 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 

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

4

1 回答 1

3

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

更新:如果您最初使用 安装了 Nokogiri gem sudo,您可能还需要先使用 sudo ( ) 将其卸载,然后在不使用( ) 的sudo gem uninstall nokogiri情况下重新安装,以确保权限正确。sudogem install nokogiri

于 2013-04-07T23:55:36.240 回答