Ich habe gerade RVM installiert, kann es aber nicht zum Laufen bringen. Ich habe eine solche Zeile am Ende meiner .profile
Datei:
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
Ich habe versucht, das source .profile
Terminal auszuführen und neu zu starten, aber trotzdem rvm use 1.9.2
bekomme ich beim Ausführen Folgendes:
RVM is not a function, selecting rubies with 'rvm use ...' will not work.
Mein System ist Ubuntu 11.10.
Antworten:
Sie verwenden keine Login-Shell.
Der Vorgang zum Aktivieren des Anmeldeflags wird hier beschrieben Einige Details zur Anmelde-Shell finden Sie hier .
Daher müssen Sie die Option aktivieren in den Einstellungen des Gnome-Terminals "Als Anmeldeshell ausführen" aktivieren. Nach dem Setzen des Flags muss ein neues Terminal geöffnet werden.
Manchmal ist es erforderlich, den Befehl auf zu setzen
/bin/bash --login
.Für Fernbedienung ist es wichtig, den Unterschied zwischen dem Ausführen einer interaktiven
ssh
Sitzung und dem Ausführen einzelner Befehle zu verstehen .Während dem Rennen
ssh server
und dann interaktiv mit dem Server arbeiten, verwenden Sie standardmäßig die Anmeldeshell und alles ist in Ordnung, aberssh server "command"
Sie verwenden keine Anmeldeshell und es wäre erforderlich, sie auszuführenssh server 'bash -lc "command"'
.Jeder Remote-Aufruf kann das gleiche Problem haben wie das Ausführen eines einzelnen Befehls mit
ssh
.quelle
rvm get stable --auto
, Ihre Terminaleinstellungen zu überprüfen--auto
wurde zugunsten von abgelehnt,--auto-dotfiles
so dass der Befehl jetzt lautetrvm get stable --auto-dotfiles
Sie müssen Folgendes ausführen
Führen Sie dies dann aus
und wenn du bekommst
das Problem ist behoben.
Sie müssen auch ausführen
user$ rvm requirements
, um die Abhängigkeitsanforderungen für Ihr Betriebssystem anzuzeigenQuelle: https://rvm.io/rvm/install/
Ich habe vergessen zu erwähnen, dass Sie diesen Code in Ihre ~ / .bashrc- oder ~ / .zshrc-Datei einfügen müssen und diesen Code nicht erneut schreiben müssen. Prost!
quelle
Um dies dauerhaft zu beheben, schneiden Sie einfach die folgende Zeile aus / fügen Sie sie ein:
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
Von:
~/.bash_profile
DateiZu:
~/.bashrc
DateiGrund dafür ist, dass dies
.bashrc
jedes Mal ausgeführt wird, wenn Sie das Terminal betreten und.bash_profile
wenn Sie sich anmelden. Aus diesem Grund/bin/bash --login
funktioniert die Lösung , aber Sie müssen dies jedes Mal tun, wenn Sie das Terminal betreten. Auf diese Weise werden Sie bis zu Ihrem nächsten Format eingestellt und Sie werden dies alles bis dahin vergessen :)quelle
~/.bashrc
anstelle von eingeben~/.bash_profile
.Auch ich war mit diesem Problem konfrontiert. Schließlich habe ich diese Zeile am Terminal ausgeführt.
Problem ist behoben. Weil diese Zeile die RVM-Instanz für eine bestimmte Zeit zu einer Funktion macht.
quelle
Das neueste RVM (rvm 1.11.6 (stabil)) funktionierte nicht mehr unter Ubuntu (10.10 - 64 Bit - nerdige Mücke oder was auch immer) - ich bekam es immer wieder
"RVM ist keine Funktion. Die Auswahl von Rubinen mit 'rvm use ...' funktioniert nicht."
Vorher habe ich die Nachricht erhalten, aber 'rvm 1.9.3-p0@rails321' würde funktionieren. Jetzt würde es nicht funktionieren - Sie konnten Edelsteine überhaupt nicht ändern.
Nichts hat funktioniert, bis ich das gefunden habe - machen Sie dies zur LETZTEN Zeile in
/home/your-name/.bashrc
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
quelle
Wie Sie sagten, könnte der angezeigte Fehler der folgende sein.
Wie oben erwähnt, geben Sie einfach ' / bin / bash --login ein ' in Ihr Terminal ein (nach dem Neustart Ihres Terminals), geben Sie dann den Befehl 'rvm use 1.9.3' ein (z. B.) und es wird dieselbe Version verwendet.
Führen Sie einfach den Befehl 'ruby -v' aus, um zu bestätigen, dass die RVM die aktualisierte Version von Ruby verwendet.
quelle
Ich hatte dieses Problem auch bei einer neuen RVM-Installation, und keine der Antworten hier hat es behoben. Wenn sie auf die offizielle rvm-Site im Abschnitt "Grundlagen" gehen, haben sie diesen Befehl:
Sie sollten 1.9.3 für die gewünschte Ruby-Version ändern, damit rvm unabhängig vom Shell-Typ zu einer Funktion wird.
quelle
Obwohl Sie eine Antwort akzeptiert haben, möchte ich einen anderen Weg vorschlagen. ~ / .bashrc wird geladen, bevor eine Shell geöffnet wird. Fügen Sie diese Zeile am Ende hinzu, und Sie benötigen nichts von dieser Login-Shell
quelle
Vielleicht können Sie unten versuchen:
quelle
Laufen
bash --login
und dann laufenrvm use 2.0.0
.quelle
Öffnen Sie das Terminal und gehen Sie zu Bearbeiten> Profileinstellungen. Gehen Sie dann zur Registerkarte " Titel und Befehl " und aktivieren Sie " Befehl als Anmeldeshell ausführen ".
Booten Sie einen Bash und jetzt können Sie Gems ohne Verwendung von sudo direkt vom Terminal aus installieren. Der Fehler " RVM ist keine Funktion, die Auswahl von Rubinen mit 'rvm use ...' funktioniert nicht. " Wird behoben.
Prost.
quelle
Alle obigen Antworten sind gültig. Aber als ich vor dem gleichen Problem stand, war die Lösung die folgende:
sudo chsh -s $(which zsh) $USER
Stellen Sie sicher, dass sich der folgende Code am unteren Rand Ihres Codes befindet,
.zshrc
nachdem Sie die neueste RVM installiert haben, die wahrscheinlich CURL von der offiziellen RVM-Site verwendetWICHTIGSTER PUNKT: Stellen Sie sicher, dass in Ihrer
.zshrc
Datei jeder Export anPATH
angehängt wird:$PATH
. Was ich glaube, war die Wurzel meiner Probleme, selbst nachdem ich die obigen Schritte befolgt habe.poste dies alle meine Probleme mit RVM Nicht eine Funktion zu sein, verschwand. Wenn es immer noch nicht funktioniert, geben Sie hier eine Fehlersuche an. Nach ein paar Stunden Kampf um die Lösung dieses Problems bin ich sicher, dass ich alle damit verbundenen Fehler gesehen habe.
Ich hoffe es hilft. Prost!
quelle
export PATH="/usr/bin:"
. Es wird Sie bitten, daran anzuhängen$PATH
. Dies war eine Ursache für eines meiner Probleme. Jeder Daherexport PATH
hätte$PATH
angefügt , so dass vor dem Export, was auch immer diePATH
Variable hatte angehängt wird. Wie auch immer, gut, dass dies hilfreich war.Verfahren zum Installieren von Ruby 1.9.3-p125 unter Mac OSX 10.8 Mountain Lion
http://www.frederico-araujo.com/2011/07/30/installing-rails-on-os-x-lion-with-homebrew-rvm-and-mysql/
Anmerkungen:
Um Ruby zu installieren, müssen Sie möglicherweise den Clang-Compiler angeben:
$ rvm install 1.9.3p125 --with-gcc = clang
Wenn RVM Griffe über / usr / local / rvm nicht gefunden hat, müssen Sie einen Link erstellen:
$ ln -s / Users / [Ihr Benutzername] /. rvm / usr / local / rvm
quelle
... sollte den Trick machen ..., muss sich wahrscheinlich abmelden und erneut anmelden.
Wie lade ich .bash_profile von der Kommandozeile neu?
quelle
Ich hatte den gleichen Fehler erhalten, weil ich jemals die alte RVM-Version ruby-rvm mit dem Befehl apt-get installiert hatte.
Ich habe das Problem gelöst, indem ich die Skriptzeile entfernt habe, um das alte rvm in der .bashrc-Datei zu konfigurieren.
Überprüfen Sie das alte rvm-Konfigurationsskript und führen Sie dann das Quellprofil aus
quelle
«Offizielle» Anweisungen finden Sie dort: https://rvm.io/integration/gnome-terminal/
quelle
Ich habe es behoben, indem ich diese Zeile zu .bash_profile hinzugefügt habe:
quelle
Ich hatte den gleichen Fehler, aber keine der Lösungen auf dieser Seite schien zu funktionieren. Für mich war es genug, die
rvm
ausführbare Datei meinem Pfad hinzuzufügen :Et voila!
quelle
Ich hatte das gleiche Problem und habe dies in meinem .bash_profile getan und es hat funktioniert.
source "$HOME/.rvm/scripts/rvm"
.quelle
Für diejenigen, die mit dem gleichen Problem kommen und Lubuntu wie ich verwenden, bin ich diesem Link gefolgt :
Sie starten Ihr Terminal mit
Vielen Dank an @mpapsis, der mich in die richtige Richtung gelenkt hat
quelle
Mein unreiner Weg, die Ruby-Version zu ändern, ist
rvm alias create default ruby-2.2.3 && source ~/.bashrc && rvm list
Es funktioniert, weil ich die Zeile unten in meinem ~ / .bashrc habe, aber seltsamerweise erledigt es den Job nicht automatisch.
[[ -s "/usr/local/rvm/bin/rvm" ]] && source "/usr/local/rvm/bin/rvm"
Ich habe versucht, mit --login eine Verbindung zu meinem Docker-Container herzustellen
In diesem Fall bleibt der Container im Hintergrund geöffnet und ich kann keine Befehle eingeben.
Ich habe sowohl zhc als auch terminal mit der Option "open with
/bin/bash --login
" ausprobiert.quelle