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

当我运行一个名为wc.rb的文件时,我总是收到一个错误。 我input:

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 

有什么我可以做的,所以我不必作为超级用户运行这个脚本?

当你用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 )以使权限正确。