Я устанавливаю пакет ruby.
$ sudo gem install pdfbeads
ERROR: Error installing pdfbeads:
nokogiri requires Ruby version >= 1.9.2.
говорит, что для этого нужна версия ruby больше 1.9.1.
Мой рубин 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?
Обновить:
Теперь я пошел по пути установки ruby 2.1.0 с помощью RVM, я добавил путь 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
(потому что я думал, что установил ruby 2.1.0 под своей учетной записью, а не под root, и для установки пакета требуется более новая версия 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
?rvm
находится в$PATH
. Я не уверен, что вы подразумеваете под "рутомPATH
". есть другиеPATH
?PATH
когда вы root.PATH=$PATH:/home/tim/.rvm/bin
? Мне придется вернуться к своей учетной записи и установитьpdfbeads
.Ответы:
Вы можете рассмотреть возможность использования менеджера пакетов ruby, такого как rvm или rbenv
Вы можете устанавливать различные рубины и легко переключаться между ними.
Вы также можете попробовать попробовать 2.0+
Пример вывода из rvm:
Получить рвм на http://rvm.io/
Установите со своим знаменитым 1 вкладышем:
$
\curl -sSL https://get.rvm.io | bash -s stable
источник
Установите RVM и используйте следующее:
источник