Ich installiere ein Ruby-Paket.
$ sudo gem install pdfbeads
ERROR: Error installing pdfbeads:
nokogiri requires Ruby version >= 1.9.2.
sagt, dass es eine Ruby-Version größer als 1.9.1 benötigt.
Mein Rubin ist 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
Ich habe Ruby 1.9.1 und 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
aber 1.9.3 ist mit 1.9.1 verknüpft.
$ 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
Es sagt sich jedoch 1.9.3:
$ /usr/bin/ruby1.9.3 --version
ruby 1.9.3p0 (2011-10-30 revision 33570) [i686-linux]
Ich ändere den Link trotzdem auf 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
Die Installation sagt immer noch, dass es Ruby> = 1.9.2 braucht
$ 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]
Habe ich ruby1.9.3 oder nur ruby1.9.1?
Wie kann ich sudo gem install pdfbeads
Ruby 1.9.3 verwenden?
Aktualisieren:
Ich habe jetzt den Weg der Installation von Ruby 2.1.0 durch RVM verfolgt, ich habe den Pfad von rvm
zu meinem hinzugefügt PATH
. Ich habe dann erfolgreich ruby2.1.0 von installiert
$ rvm install 2.1.0
und machte es Standard
$ 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
Nun zurück, um das Paket zu installieren pdfbeads
, aber ohne sudo
(weil ich dachte, ich hätte Ruby 2.1.0 unter meinem Konto installiert, nicht unter root, und für die Installation des Pakets ist die neuere Version Ruby erforderlich).
$ gem install pdfbeads
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions into the /var/lib/gems/1.8 directory.
Also denke ich muss ich benutzen sudo
. Aber ich bekomme immer noch den ursprünglichen Fehler,
$ sudo gem install pdfbeads
ERROR: Error installing pdfbeads:
nokogiri requires Ruby version >= 1.9.2.
Ich denke es liegt daran, dass unter sudo
, der Benutzer ist root
, der noch die ältere Version ruby1.8.7 als Standard hat. Also frage ich mich, was ich jetzt tun kann?
rvm
Pfad in RootsPATH
?rvm
ist in$PATH
. Ich bin mir nicht sicher, was du mit "root'sPATH
" meinst . gibt es anderePATH
?PATH
wenn du Wurzel bist.PATH=$PATH:/home/tim/.rvm/bin
? Ich muss zurück zu meinem Konto wechseln und installierenpdfbeads
.Antworten:
Möglicherweise möchten Sie einen Ruby-Paketmanager wie rvm oder rbenv verwenden
Sie können verschiedene Rubine installieren und einfach zwischen ihnen wechseln.
Vielleicht möchten Sie auch 2.0+ ausprobieren
Beispielausgabe von rvm:
Holen Sie sich rvm unter http://rvm.io/
Installieren Sie mit seinem berühmten 1 Liner:
$
\curl -sSL https://get.rvm.io | bash -s stable
quelle
Installieren Sie RVM und verwenden Sie Folgendes:
quelle