Ich kann die aktuelle Ruby-Version nicht wechseln:
➜~ rvm list
rvm rubies
ruby-1.9.2-p290 [ x86_64 ]
ruby-1.9.3-p0 [ x86_64 ]➜~ rvm use ruby-1.9.3-p0
RVM is not a function, selecting rubies with 'rvm use ...' will not work.
Bist du sicher, dass du rvm richtig installiert hast? Welches Betriebssystem verwenden Sie?
Lesce
2
Hängen Sie die Ausgabe rvm infobitte an Ihre Frage an.
der Blechmann
Ich hatte ein ähnliches Problem bei der Installation von rvm mit apt-get unter Ubuntu 11.10. Ich musste es entfernen und mit$ bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)
lesce
4
Haben Sie die RVM-Ladefunktion im Startskript Ihrer Shell? [[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"ist der zu verwendende Code. Wenn Sie RVM in Ihrem Pfad installiert haben, dies aber nicht in Ihrem Startskript haben, können Sie den RVM is not a functionFehler erhalten.
Ich hatte dieselbe Zeile (das [[-s "$ HOME / ...) in meinem ~ / .bash_profile und das schien nicht" zu dauern ", als ich ein neues Terminal öffnete ... aber als ich die Zeile hinzufügte Unterhalb der PATH-Zeile in ~ / .bashrc hat es funktioniert - das heißt, ich könnte rvm use 1.9.3 eingeben und es würde rvm sofort als Befehl erkennen, ohne dass ich zuerst source ~ / .bash_profile - i 'eingeben muss. Ich bin keine Linux-Person, also verwirrt mich das, aber ich bin froh, dass es funktioniert hat. Vielleicht kann jemand meine Verwirrung klären.
TimDog
Das ist großartig, ich habe diese Zeile einfach in ~ / .bashrc eingefügt, es funktioniert. aber ich weiß auch nicht warum.
Jack Ma
Ja, es funktioniert. Aber jedes Mal, wenn ich meinen Computer neu starte, muss ich die oben genannten Befehle geben. Wenn ich die Befehle nicht gebe, heißt es, dass rvm keine Funktion ist.
Apurva Mayank
11
Ihre Shell kennt die RVM-Funktion nicht. Nach der Installation erfahren Sie, wie Sie dies erledigen können. Oder gehen Sie zur Installationsseite auf der RVM-Site und lesen Sie den Abschnitt "2. Laden Sie RVM als Funktion in Ihre Shell-Sitzungen".
Führen Sie dies einmal aus, um die Zeile, die rvm lädt, in Ihr ~ / .bash_profile einzufügen:
oder manuell selbst hinzufügen. (Beachten Sie, dass Sie es auf einigen Systemen an anderen Stellen ablegen möchten, z. B. auf meinem System, Mac OSX Lion. Ich habe es in ~ / .profile abgelegt.)
Danach sollten Sie die aktuelle Shell neu laden oder eine neue Terminalsitzung öffnen und den folgenden Befehl eingeben, um .bash_profile neu zu laden:
Bei einer Neuinstallation von Ubuntu 12.04 stieß ich auf dasselbe Problem. Das RVM-Installationsprogramm erstellt oder hängt an eine Datei mit dem Namen ~ / .bash_login das erforderliche Codebit an, um das ursprüngliche Problem zu vermeiden:
[[-s "$HOME/.rvm/scripts/rvm"]]&& source "$HOME/.rvm/scripts/rvm"# Load RVM into a shell session *as a function*
Dies scheint jedoch nicht aufgerufen zu werden. Durch Hinzufügen zu ~ / .bashrc wurde das Problem für mich behoben.
Verwenden Sie keine nicht autorisierenden Quellen für die Installation von RVM. Auf der RVM-Installationsseite heißt es ausdrücklich: "Beachten Sie, dass externe Tutorials NICHT unterstützt werden, unabhängig davon, ob sie funktionieren oder nicht. Die Tutorials sind großartig, wir haben jedoch eine Menge Mannstunden damit verbracht, den Installationsprozess zu debuggen. Verwenden Sie die Installationsprozesse von Nur diese Site, da dies die einzigen unterstützten Installationstypen und -methoden sind. "
der Blechmann
1
In meinem Fall unter Ubuntu hatte der Eintrag in ~ / .bashrc:
[[-s "$HOME/.rvm/scripts/rvm"]]&&."$HOME/.rvm/scripts/rvm"# BAD
anstatt:
[[-s "$HOME/.rvm/scripts/rvm"]]&&."$HOME/.rvm/scripts/rvm"# WORKING
Beachten Sie den fehlenden Abstand dazwischen. und "$ HOME.
Wenn dies das Problem ist, sollten Sie beim Starten Ihres Terminals auch oben einen Fehler bemerken.
Ich hatte eine globale Installation von RVM, auf der /etc/profile.d/rvm.sh ausgeführt wird. Für dieses Skript muss jedoch BASH_VERSION oder ZSH_VERSION festgelegt werden. Ich rannte von Crontab, das "sh" verwendet.
Ich habe ein Wrapper-Skript erstellt, das / bin / bash als Quelle für /etc/profile.d/rvm.sh verwendet.
Sie müssen die Einstellungen Ihres Terminalemulators ändern, um die Anmeldeshell zuzulassen. Manchmal ist es erforderlich, /bin/bash --loginals Befehl zu verwenden.
rvm info
bitte an Ihre Frage an.$ bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
ist der zu verwendende Code. Wenn Sie RVM in Ihrem Pfad installiert haben, dies aber nicht in Ihrem Startskript haben, können Sie denRVM is not a function
Fehler erhalten.Antworten:
Behoben. Ich musste hinzufügen:
zu
.zshrc
quelle
Das ist mir auch passiert. Ich hatte:
Hinzugefügt in meiner .bashrc.
Ich musste nur noch einen hinzufügen
auf die gleiche Datei und es hat funktioniert! Natürlich müssen Sie Ihr Terminal danach neu starten.
quelle
Ihre Shell kennt die RVM-Funktion nicht. Nach der Installation erfahren Sie, wie Sie dies erledigen können. Oder gehen Sie zur Installationsseite auf der RVM-Site und lesen Sie den Abschnitt "2. Laden Sie RVM als Funktion in Ihre Shell-Sitzungen".
Führen Sie dies einmal aus, um die Zeile, die rvm lädt, in Ihr ~ / .bash_profile einzufügen:
oder manuell selbst hinzufügen. (Beachten Sie, dass Sie es auf einigen Systemen an anderen Stellen ablegen möchten, z. B. auf meinem System, Mac OSX Lion. Ich habe es in ~ / .profile abgelegt.)
quelle
(Kubuntu 11.10) Das
~/.bash_profile
heißt jetzt~/.profile
quelle
So ändern Sie die Standardversion von Ruby:
In Ubuntu 11.10
ändern Sie bitte Ihre GNOME-Terminaleinstellung:
Gehen Sie zum Terminal und befolgen Sie die folgenden Anweisungen:
Führen Sie diesen Befehl auf dem Terminal aus:
quelle
Um Ihrem .bash_profile alle RVM-Funktionen hinzuzufügen, sollten Sie den folgenden Befehl verwenden:
Danach sollten Sie die aktuelle Shell neu laden oder eine neue Terminalsitzung öffnen und den folgenden Befehl eingeben, um .bash_profile neu zu laden:
quelle
Die obige Lösung funktioniert nur, wenn RVM für den aktuellen Benutzer installiert ist. Eine allgemeinere Lösung würde die RVM-Pfadvariable verwenden:
quelle
rvm_path=/home/myuser/.rvm . /home/myuser/.rvm/scripts/rvm
Ich musste nur die Quelle aufrufen
~/.bash_profile
quelle
Bei einer Neuinstallation von Ubuntu 12.04 stieß ich auf dasselbe Problem. Das RVM-Installationsprogramm erstellt oder hängt an eine Datei mit dem Namen ~ / .bash_login das erforderliche Codebit an, um das ursprüngliche Problem zu vermeiden:
Dies scheint jedoch nicht aufgerufen zu werden. Durch Hinzufügen zu ~ / .bashrc wurde das Problem für mich behoben.
quelle
Installation von RVM finden Sie hier http://octopress.org/docs/setup/rvm/
quelle
In meinem Fall unter Ubuntu hatte der Eintrag in ~ / .bashrc:
anstatt:
Beachten Sie den fehlenden Abstand dazwischen. und "$ HOME.
Wenn dies das Problem ist, sollten Sie beim Starten Ihres Terminals auch oben einen Fehler bemerken.
quelle
Ich hatte eine globale Installation von RVM, auf der /etc/profile.d/rvm.sh ausgeführt wird. Für dieses Skript muss jedoch BASH_VERSION oder ZSH_VERSION festgelegt werden. Ich rannte von Crontab, das "sh" verwendet.
Ich habe ein Wrapper-Skript erstellt, das / bin / bash als Quelle für /etc/profile.d/rvm.sh verwendet.
quelle
quelle