Wie verwende ich Edelsteine mit Ubuntu?
-
05-09-2019 - |
Frage
Ich habe vor kurzem ein Upgrade auf Ubuntu 9.04 und ich habe Probleme mit Edelsteinen.Ich installierte Ruby, Rubygems und Rails die Verwendung von apt-get.Die rails
- Befehl funktioniert.
Ich habe dann installiert capistrano und andere Edelsteine, wie heroku.Um dies zu tun, habe ich folgenden Befehl verwendet:
sudo gem install XXX
Wenn ich verwenden möchten, die cap
Befehl, es funktioniert nicht:
bash: cap: command not found
Es ist das gleiche mit der anderen Edelstein-Befehle.
Muss ich etwas bestimmtes zu tun, so dass die gem-Befehle funktionieren?
Lösung
Wo sind meine Edelsteine?
Finden Sie, wo Ihre Edelsteinen gespeichert, die gem environment
Befehl.Zum Beispiel:
chris@chris-laptop:~$ gem environment
RubyGems Environment:
- RUBYGEMS VERSION: 1.3.2
- RUBY VERSION: 1.8.7 (2008-08-11 patchlevel 72) [i486-linux]
- INSTALLATION DIRECTORY: /usr/lib/ruby/gems/1.8
- RUBY EXECUTABLE: /usr/bin/ruby1.8
- EXECUTABLE DIRECTORY: /usr/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86-linux
- GEM PATHS:
- /usr/lib/ruby/gems/1.8
- /home/chris/.gem/ruby/1.8
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
Wenn man sich die "EDELSTEIN-PFADE:" Abschnitt können Sie sehen, dass die Edelsteine, die können gespeichert werden in zwei Orten, auf meinem laptop: /usr/lib/ruby/gems/1.8
oder in der .gem
Verzeichnis in meinem home-Verzeichnis.
Sie können auch sehen, dass die ausführbaren Dateien gespeichert sind, die in AUSFÜHRBAREN VERZEICHNIS, welches in diesem Fall ist /usr/bin
.
Da /usr/bin
ist in meinem Weg, das läßt mich laufen cap
, merb
, rails
etc.
Aktualisieren Sie Ihren PFAD
Wenn für einige Grund Ihrer AUSFÜHRBAREN Datei VERZEICHNIS ist nicht auf Ihrem Pfad (zum Beispiel, wenn es ist /var/lib/gems/1.8/bin), dann müssen Sie aktualisieren Sie Ihre PATH-variable.
Unter der Annahme, dass Sie mit der bash-shell.Sie können dies schnell zu tun für die aktuelle Sitzung, indem Sie Folgendes am shell-prompt;let ' s pretend, die Sie hinzufügen möchten /var/lib/gems/1.8/bin
zum Pfad:
export PATH=$PATH:/var/lib/gems/1.8/bin
und drücken Sie die EINGABETASTE.Fügt ein neues Verzeichnis, um das Ende des aktuellen path.Beachten Sie den Doppelpunkt zwischen $PATH
und /var/lib/gems/1.8/bin
Um den Wert für alle Sitzungen, die Sie Bearbeiten müssen, müssen Sie entweder Ihre .profile
oder .bashrc
Datei und fügen Sie die gleiche Zeile am Ende der Datei.Ich in der Regel mein edit .bashrc
Datei aus keinem anderen Grund, als das ist, was ich immer getan haben.Wenn Sie fertig sind, speichern Sie die Datei und aktualisieren Sie dann Ihre Umgebung, indem Sie eingeben:
bash
an der shell-Eingabeaufforderung.Dadurch wird der .bashrc
um noch einmal gelesen.
An jedem Punkt können Sie überprüfen Sie den aktuellen Wert der $PATH
durch die Eingabe von
echo $PATH
an der shell-Eingabeaufforderung.
Hier ist ein Beispiel von meinem eigenen Server, wo mein Benutzername ist "chris" und den Namen der Maschine ist "chris-laptop":
chris@chris-laptop:~$
chris@chris-laptop:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
chris@chris-laptop:~$
chris@chris-laptop:~$ export PATH=$PATH:/var/lib/gems/1.8/bin
chris@chris-laptop:~$
chris@chris-laptop:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/var/lib/gems/1.8/bin
chris@chris-laptop:~$
Meine Gem won ' T Last!
"Ruby gems wird nicht geladen, obwohl installiert"highlights-ein häufiges problem mit verschiedenen Versionen von Ruby;Manchmal sind die Edelstein Umwelt-und Edelstein-Weg Synchronisierung:
rb(main):003:0> Gem.path
=> ["/opt/ruby1.9/lib/ruby1.9/gems/1.9.1"]
irb(main):004:0> exit
Alle Ruby-Prozess ist hier suchen nur einen Platz für seine Schätze.
:~/$ gem env
RubyGems Environment:
- RUBYGEMS VERSION: 1.3.7
- RUBY VERSION: 1.9.1 (2009-05-12 patchlevel 129) [x86_64-linux]
- INSTALLATION DIRECTORY: /opt/ruby1.9/lib/ruby/gems/1.9.1
- RUBY EXECUTABLE: /opt/ruby1.9/bin/ruby1.9
- EXECUTABLE DIRECTORY: /opt/ruby1.9/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-linux
- GEM PATHS:
- /opt/ruby1.9/lib/ruby/gems/1.9.1
- /home/mark/.gem/ruby/1.9.1
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- http://rubygems.org/
Schauen Sie genau auf die Ausgabe von gem-Umgebung:
- GEM PATHS:
- /opt/ruby1.9/lib/ruby/gems/1.9.1
Dies ist nicht der gleiche Pfad zurückgegeben durch Gem.Pfad:
["/opt/ruby1.9/lib/ruby1.9/gems/1.9.1"]
Es ist schwer zu sagen, was genau die Ursache lib/ruby
ändern lib/ruby1.9
aber wahrscheinlich haben die Entwickler arbeiten mit mehrere Ruby-Versionen.Eine schnelle mv
oder ln
wird das problem lösen.
Wenn Sie brauchen, um die Arbeit mit mehrere Ruby-Versionen, dann sollten Sie wirklich verwenden werden rvm.
Andere Tipps
Wie bereits von @Chris, Sie müssen hinzufügen die Edelsteine, die Umgebung zu Ihrem Pfad.Sie können dies tun, indem Sie:
echo 'export PATH=$PATH:/var/lib/gems/1.8/bin' | tee --append ~/.bashrc
Die Ordner, in denen Edelsteine gespeichert muss auf Ihrem WEG, zum Beispiel meine ist:
/home/victor/.gem/ruby/1.8/bin
Überprüfen Sie Ihren Pfad durch Eingabe von
echo $PATH
Es seens, dass bei der Installation von rubygems, jetzt in ubuntu 9.04 habe ich dieses problem.Ich bemerkte, dass in der "Edelstein Umwelt" das ausführbare Verzeichnis "/var/lib/gems/1.8/bin", anstelle von "/usr/bin"...Dies ist ein problem, mit rubygems oder mit ubuntu 9.04??
Die Lösung, die ich gestoßen, ist das hinzufügen von "/var/lib/gems/1.8/bin" zu meinem $PATH, dies zu tun:export PATH=$PATH:/var/lib/gems/1.8/bin Aber es wird nicht gespeichert...wie kann ich sparen mein Weg?
Dank...
Resolvi:coloquei o export PATH=$PATH:/var/lib/gems/1.8/bin kein ~/.bashrc!=]
mkmf ist Teil des ruby1.9.1-dev-Paket.Dieses Paket enthält die header-Dateien benötigt für Erweiterung-Bibliotheken für Ruby 1.9.1.Zu installieren, müssen Sie die ruby1.9.1-dev package-by-doing:
sudo apt-get install ruby1.9.1-dev