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?

War es hilfreich?

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top