当我运行名为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
我有什么办法可以让我不必以超级用户身份运行这个脚本吗?
答案 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
)将其卸载并重新安装,而不使用sudo
(gem install nokogiri
),以确保权限正确。