
Ich hoffe, mein Titel ist nicht verwirrend. Ich habe eine CentOS 5-Maschine und habe Ruby 1.8.7 hier installiert. Um also meine Ruby-Installation und Gems/Rails zu aktualisieren,
Deinstalliertes Ruby:sudo yum Ruby entfernen
Habe die neuste stabile Version von Ruby heruntergeladen und entpackt:wget... und tar -zxf ....
Habe die übliche Installation durchgeführt:
- ./configure --prefix=$HOME
- machen
- sudo make installieren
Heruntergeladene Rubygems:wie....
die Setup-Datei ausgeführt: Ruby-Setup.rb
Jetzt besteht mein Problem darin, dass beim Versuch, Schienen zu installieren, was ich durch folgende Eingabe mache:Gem-Installationsschienen, erhalte ich die folgende Meldung:„-bash: /usr/local/bin/gem: /usr/local/bin/ruby: fehlerhafter Interpreter: Zugriff verweigert“
Der nächste logische Schritt (für mich) war also, Folgendes einzugeben:sudo gem installiere Rails, aber das gibt„sudo: gem: Befehl nicht gefunden“, was bedeutet, dass ich etwas total vermasselt habe.
Nur um noch ein paar weitere Informationen hinzuzufügen
wo ist Ruby:ruby: /usr/lib/ruby /usr/lib64/ruby /usr/local/bin/ruby /usr/local/lib/ruby
welcher Rubin: ~/bin/ruby
Ich denke, dass ich etwas vermasselt habe, indem ich Ruby manuell aus dem Quellcode installiert habe. Vielleicht ist hier --prefix=$HOME der Übeltäter?
Antwort1
Anscheinend haben Sie das Paket, das die gem
ausführbare Datei bereitstellt, nicht deinstalliert. Daher befindet es sich noch in /usr/local/bin/
und verweist auf den nicht mehr vorhandenen /usr/local/bin/ruby
Interpreter.
Sie können dieses Paket entweder deinstallieren (empfohlen, da Sie auch das Ruby-Paket entfernt haben, von dem es abhängt) oder einfach sicherstellen, ~/bin
dass es vor /usr/local/bin
Ihrem steht PATH
. (Alternativ können Sie, wenn Sie Root-Zugriff haben, das Skript einfach erneut ausführen , ./configure
ohne anzugeben --prefix=${HOME}
, und es in installieren lassen /usr/local/bin
, was die Standardeinstellung von Ruby ist.)
Wenn Sie alles so eingerichtet haben, dass Ihre Shell die gem
in installierte ausführbare Datei findet ~/bin
, sollten Sie dazu einfach in der Lage sein, gem install rails
ohne zu benötigen sudo
. (Oder, wenn Sie die Root-Installation in durchführen /usr/local/bin
, stellen Sie sicher , gem
dass sich in befindet /usr/local/bin/gem
, und führen Sie dann aus sudo gem install rails
, wie Sie es zuvor versucht haben).
Ein besserer Ansatz wäre vielleicht gewesen, entwederrvm
oderrbenv
, beides macht die Verwaltung mehrerer Rubys zu einer ziemlich schmerzlosen Aufgabe. Mit jedem dieser Tools können Sie mehrere Versionen von Ruby installieren, ohne die systemweite Version entfernen zu müssen, die möglicherweise von anderen Paketen auf dem System benötigt wird.