J'installe un paquet rubis.
$ sudo gem install pdfbeads
ERROR: Error installing pdfbeads:
nokogiri requires Ruby version >= 1.9.2.
dit qu'il a besoin d'une version ruby supérieure à 1.9.1.
Mon rubis est 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
J'ai rubis 1.9.1 et 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
mais 1.9.3 est lié à 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
Il se dit cependant que c'est 1.9.3:
$ /usr/bin/ruby1.9.3 --version
ruby 1.9.3p0 (2011-10-30 revision 33570) [i686-linux]
Je change quand même le lien vers 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
L'installation dit toujours qu'elle a besoin de 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]
Dois-je ruby1.9.3 ou juste ruby1.9.1?
Comment puis-je sudo gem install pdfbeads
utiliser ruby 1.9.3?
Mise à jour:
J'ai maintenant suivi la façon d'installer ruby 2.1.0 par RVM, j'ai ajouté le chemin de rvm
mon PATH
. J'ai ensuite installé avec succès ruby2.1.0 par
$ rvm install 2.1.0
et l'a fait par défaut
$ 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
Maintenant, revenons pour installer le package pdfbeads
, mais sans sudo
(car je pensais avoir installé ruby 2.1.0 sous mon compte, pas sous root, et l'installation du package nécessite la nouvelle version ruby)
$ gem install pdfbeads
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions into the /var/lib/gems/1.8 directory.
Je pense donc que je dois utiliser sudo
. Mais je reçois toujours l'erreur d'origine,
$ sudo gem install pdfbeads
ERROR: Error installing pdfbeads:
nokogiri requires Ruby version >= 1.9.2.
Je pense que c'est parce que sous sudo
, l'utilisateur est root
, qui a toujours l'ancienne version ruby1.8.7 par défaut. Je me demande donc que puis-je faire maintenant?
rvm
chemin est-il dans la racinePATH
?rvm
est dedans$PATH
. Je ne sais pas trop ce que vous entendez par "rootPATH
". y en a-t-il d'autresPATH
?PATH
quand tu es root.PATH=$PATH:/home/tim/.rvm/bin
? Je devrai revenir sur mon compte et installerpdfbeads
.Réponses:
Vous voudrez peut-être envisager d'utiliser un gestionnaire de paquets ruby comme rvm ou rbenv
Vous pouvez installer différents rubis et basculer facilement entre eux.
Vous pouvez également envisager d'essayer 2.0+
Exemple de sortie de rvm:
Obtenez rvm sur http://rvm.io/
Installez avec son fameux 1 liner:
$
\curl -sSL https://get.rvm.io | bash -s stable
la source
Installez RVM et utilisez les éléments suivants:
la source