我安装了一个Ruby包。
$ sudo gem install pdfbeads
ERROR: Error installing pdfbeads:
nokogiri requires Ruby version >= 1.9.2.
说它需要大于1.9.1的ruby版本。
我的红宝石是1.8.7。
$ which ruby
/usr/bin/ruby
$ ruby --version
ruby 1.8.7 (2011-06-30 patchlevel 352) [i686-linux]
$ gem --version
1.8.15
我有红宝石1.9.1和1.9.3。
$ whereis ruby1.9.1
ruby1.9: /usr/bin/ruby1.9.1 /usr/bin/ruby1.9.3 /usr/bin/X11/ruby1.9.1 /usr/bin/X11/ruby1.9.3
但1.9.3链接到1.9.1。
$ ls /usr/bin/ruby* -l
lrwxrwxrwx 1 root root 22 Jul 10 02:33 /usr/bin/ruby -> /etc/alternatives/ruby
-rwxr-xr-x 1 root root 5504 Nov 26 2013 /usr/bin/ruby1.8
-rwxr-xr-x 1 root root 5552 Nov 26 2013 /usr/bin/ruby1.9.1
lrwxrwxrwx 1 root root 9 Nov 26 2013 /usr/bin/ruby1.9.3 -> ruby1.9.1
它说本身是1.9.3,但是:
$ /usr/bin/ruby1.9.3 --version
ruby 1.9.3p0 (2011-10-30 revision 33570) [i686-linux]
我仍然将链接更改为ruby1.9.3
$ ls -l /usr/bin/ruby*
lrwxrwxrwx 1 root root 9 Aug 20 21:16 /usr/bin/ruby -> ruby1.9.3
-rwxr-xr-x 1 root root 5504 Nov 26 2013 /usr/bin/ruby1.8
-rwxr-xr-x 1 root root 5552 Nov 26 2013 /usr/bin/ruby1.9.1
lrwxrwxrwx 1 root root 9 Nov 26 2013 /usr/bin/ruby1.9.3 -> ruby1.9.1
安装仍然说需要ruby> = 1.9.2
$ sudo gem install pdfbeads
ERROR: Error installing pdfbeads:
nokogiri requires Ruby version >= 1.9.2.
$ gem --version
1.8.15
$ ruby --version
ruby 1.9.3p0 (2011-10-30 revision 33570) [i686-linux]
我有ruby1.9.3还是只有ruby1.9.1?
如何sudo gem install pdfbeads
使用ruby 1.9.3?
更新:
现在,我遵循了通过RVM安装ruby 2.1.0的方法,将的路径添加rvm
到了我的PATH
。然后我通过成功安装了ruby2.1.0
$ rvm install 2.1.0
并设为默认
$ rvm use 2.1.0
$ ruby -v
ruby 2.1.0p0 (2013-12-25 revision 44422) [i686-linux]
$ which ruby
/home/tim/.rvm/rubies/ruby-2.1.0/bin/ruby
现在返回安装软件包pdfbeads
,但是没有安装sudo
(因为我认为我是在我的帐户下而不是在root下安装了ruby 2.1.0的,并且该软件包的安装需要较新的ruby版本)
$ gem install pdfbeads
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions into the /var/lib/gems/1.8 directory.
所以我认为我必须使用sudo
。但是我仍然得到原始错误,
$ sudo gem install pdfbeads
ERROR: Error installing pdfbeads:
nokogiri requires Ruby version >= 1.9.2.
我认为这是因为,在的情况下sudo
,用户为root
,但默认版本仍为旧版本ruby1.8.7。所以我想知道我现在该怎么办?
rvm
在中$PATH
。我不确定您所说的“根目录PATH
” 是什么意思。还有其他的PATH
吗?
我的意思是
—
cuonglm 2014年
PATH
当你是根。
它不是。如果我切换到root,并通过root将rvm路径添加到root的PATH中,它将起作用
—
蒂姆(Tim)
PATH=$PATH:/home/tim/.rvm/bin
吗?我将不得不切换回我的帐户,并进行安装pdfbeads
。
我应该在根目录下安装rvm和ruby吗?
—
2014年
rvm
路径是根的PATH
?