为什么不安装nokogiri?

我有一个时间在Ubuntu 12.04上安装Nokogiri的魔鬼。 我用rbenv。

$ gem install nokogiri -v '1.6.1' ERROR: While executing gem ... (Errno::EACCES) Permission denied - /home/deploy/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/nokogiri-1.6.1/.autotest $ sudo gem install nokogiri -v '1.6.1' ERROR: Error installing nokogiri: nokogiri requires Ruby version >= 1.9.2. $ rbenv sudo gem install nokogiri -v '1.6.1' Building native extensions. This could take a while... ERROR: Error installing nokogiri: ERROR: Failed to build gem native extension. /home/deploy/.rbenv/versions/2.0.0-p353/bin/ruby extconf.rb Gem files will remain installed in /home/deploy/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/nokogiri-1.6.1 for inspection. Results logged to /home/deploy/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/nokogiri-1.6.1/ext/nokogiri/gem_make.out $ ruby -v ruby 2.0.0p353 (2013-11-22 revision 43784) [x86_64-linux] $ sudo ruby -v ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux] $ rbenv sudo ruby -v ruby 2.0.0p353 (2013-11-22 revision 43784) [x86_64-linux] $ echo $PATH /home/deploy/.rbenv/bin:/home/deploy/.rbenv/bin:/home/deploy/.rbenv/shims:/home/deploy/.rbenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games 

好像我需要某种方式让sudo ruby -v给我2.0.0 。 我错过了什么?

使用rbenv进行gem install时,不应该使用sudo 。 不幸的是,新安装的.rbenv目录的所有权通常不正确。

首先执行此操作以正确设置权限:

 sudo chown -R $USER "$HOME/.rbenv" 

然后继续,再次运行安装:

 gem install nokogiri -v '1.6.1' 

它应该没有sudo工作。

这工作正常,但确保在运行sudo chown后重新启动终端窗口。

 sudo chown -R $USER "$HOME/.rbenv" # close terminal, then run the gem install gem install nokogiri