为什么不安装nokogiri?

ist*_*ses 2 ruby rubygems nokogiri rbenv ubuntu-12.04

我有一个时间在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
Run Code Online (Sandbox Code Playgroud)

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

use*_*951 5

sudo当你gem install使用rbenv 时,你不应该需要.不幸的是,对于新安装的.rbenv目录,所有权通常是不正确的.

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

sudo chown -R $USER "$HOME/.rbenv"
Run Code Online (Sandbox Code Playgroud)

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

gem install nokogiri -v '1.6.1'
Run Code Online (Sandbox Code Playgroud)

它应该没有sudo.