RVM ist keine Funktion, die Auswahl von Rubinen mit 'rvm use…' funktioniert nicht


160

Listen Sie die Ruby-Versionen auf

console:~$ rvm list

rvm rubies

ruby-2.0.0-p481 [ i686 ]

# => - current
# =* - current && default
#  * - default

Versuchen Sie, eine bestimmte Version von Ruby zu verwenden

console:~$ rvm use 2.0.0

RVM is not a function, selecting rubies with 'rvm use ...' will not work.

You need to change your terminal emulator preferences to allow login shell.
Sometimes it is required to use `/bin/bash --login` as the command.
Please visit https://rvm.io/integration/gnome-terminal/ for a example.

1
Was versuchst du zu machen?
Pavan

Welches Terminal verwenden Sie? Das Einstellen der Login-Shell unterscheidet sich je nach Terminalanwendung. Alternativ könnten Sie source $HOME/.profileoder source $HOME/.bash_profilewo rvm wahrscheinlich seine Init-Zeile definiert hat.
Michael Berkowski

Sie müssen Ihre Konsole als Anmeldeshell ausführen. Welches System hast du?
BroiSatse

Terminal Gnome das Ubuntu 12.04 lts
user3678471

4
Falls Sie sich fragen, was der Unterschied zwischen einer Login- und
stephenbez

Antworten:


236

Ihre Konsole wird nicht als Login-Shell ausgeführt und hat daher keinen Zugriff auf die RVM-Funktion. Wenn Sie Ubuntu ausführen, können Sie:

  1. Konsole öffnen
  2. Wählen Sie Bearbeiten -> Profileinstellungen
  3. Registerkarte auswählen: Titel und Befehl
  4. Kontrollkästchen 'Befehl als Login-Shell ausführen'
  5. Terminal neu starten

1
Ich habe das gemacht, aber nicht funktioniert. Das Problem besteht weiterhin . Wie entferne ich rvm vollständig?
user3678471

16
Natürlich benötigen Sie Folgendes in Ihrem ~ / .profile [[-s "$ HOME / .rvm / scripts / rvm"]] &&. "$ HOME / .rvm / scripts / rvm"
nadersoliman

3
Ich denke, dies könnte mehr erklärt werden - "und haben daher keinen Zugriff auf die RVM-Funktion"
Matanster

1
Es funktionierte. Kannst du den Unterschied zwischen diesen beiden erkennen?
Krishnadas PC

6
Was für mich unter OSX funktioniert, ist/bin/bash --login; source ~/.rvm/scripts/rvm; rvm use 2.4.0
Jayesh

116

Geben Sie bash --loginvon Ihrem Terminal aus ein. Und dann gibrvm use 2.0.0


@AdityaPednekar Manchmal hilft es also, die Fehler- / Konsolenmeldung zu lesen, und RVM is not a function, selecting rubies with 'rvm use ...' will not work. You need to change your terminal emulator preferences to allow login shell. Sometimes it is required to use /bin/bash --login as the command. Please visit https://rvm.io/integration/gnome-terminal/ for a example.gibt die Details an.
neugierig

Ja, es hilft zu erkennen, wie unangemessen komplex die Verwendung im rvmVergleich zunvm
Jannis Ioannou

53

Es scheint, als würde Ihr RVM ".bash_profile" nicht richtig laden. Ich habe es in MAC OS X oder Ubuntu 14.04 behoben, indem ich das Terminal geöffnet und geschrieben habe:

source ~/.rvm/scripts/rvm

41

Meine Umgebung ist OSX Yosemite. Hatte das gleiche Problem .... gelöst durch Hinzufügen der folgenden

1) Bearbeiten Sie die folgende Zeile und fügen Sie sie der Datei .bash_profile hinzu .

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"

2) Starten Sie das Terminal neu und wiederholen Sie den RVM-Befehl


2
Sie können dies auch zu ~ / .bashrc oder ~ / .zshrc hinzufügen (wenn Sie zsh verwenden).
Adridev

Wenn Sie das Terminal nicht neu starten möchten oder können, können Sie es source ~/.bash_profilenach der Bearbeitung ausführen .
Andre Ravazzi

35

Wenn Sie dies nicht jedes Mal möchten, wenn Sie ein Terminal öffnen, führen Sie den obigen Vorschlag erneut aus. Fügen Sie einfach hinzu

source ~/.rvm/scripts/rvm

am Ende von ~/.bashrc


Dieser hat geholfen.
Arup Rakshit

.. und braucht einen Neustart?
Gordon

16

Der Fehler ist darauf zurückzuführen, dass rvm nicht wie in der Anmeldeshell ausgeführt wird. Versuchen Sie daher den folgenden Befehl:

/bin/bash --login

Sie können rvm-Befehle sofort als Login-Shell im Terminal ausführen.

Vielen Dank!


15

Gleiches Prinzip wie bei anderen Antworten, dachte nur, es sei schneller als das Wiedereröffnen von Terminals :)

bash -l -c "rvm use 2.0.0"

Jemand sollte eine bessere Antwort finden als alle diese. Dies ist der einzige Punkt in allen Antworten auf diese Frage, der für mich funktioniert, aber das ist nicht etwas, was ich ständig tun möchte.
Ich bin

9

Sie müssen hinzufügen source ~/.rvm/scripts/rvmzu ~/.your_shellrc file. Ab jetzt wird beim Laden einer Shell rvm geladen.

Beispielsweise:

Wenn Sie die zsh-Shell verwenden, müssen Sie eine ~/.zshrcDatei hinzufügen

Wenn Sie eine Bash-Shell verwenden, müssen Sie diese hinzufügen ~/.bashrc Datei

Öffnen Sie dann eine neue Registerkarte, um den Effekt zu sehen.


7

Für mich in Ubuntu (18.08) habe ich die folgende Zeile in .bashrc hinzugefügt und es funktioniert.

 source /home/username/.rvm/scripts/rvm

Bitte fügen Sie diese Zeile hinzu.


1
Vielen Dank! Das hat bei mir unter MacOS funktioniert! Als Vorschlag denke ich, dass es besser ist, ~auf den Home-Pfad des Benutzers zu verweisen: source ~/.rvm/scripts/rvm:-)
Giovanni Benussi

2

Von einer neuen Ubuntu 16.04 Installation

1) Terminal => Bearbeiten => Profileinstellungen

2) Registerkarte "Befehl" => Befehl "Ausführen" als Anmeldeshell aktivieren

3) Schließen Sie das Terminal und öffnen Sie es erneut

rvm --default use 2.2.4

0

FWIW: Ich bin auch nur darauf gestoßen, es war im Zusammenhang mit einem abgebrochenen Selenlauf. Vielleicht wurde eine Unterschale instanziiert und an Ort und Stelle belassen. Ich musste nur das Terminalfenster schließen und ein neues öffnen. (macOS Sierra)

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.