wake-up-neo.com

rVM-Installation funktioniert nicht: "RVM ist keine Funktion"

Ich habe gerade RVM installiert, kann aber nicht funktionieren. Ich habe eine solche Zeile am Ende meiner .profile-Datei:

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

Ich habe versucht, source .profile auszuführen und das Terminal neu zu starten, aber immer noch, wenn ich rvm use 1.9.2 ausführen, bekomme ich

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

Mein System ist Ubuntu 11.10.

224
amorfis

Sie verwenden keine Login-Shell.

Das Aktivieren des Login-Flags wird beschrieben: hier . Außerdem finden Sie einige Details zu der Login-Shell hier .

Daher müssen Sie in den Einstellungen des Gnome-Terminals die Option "Als Login-Shell ausführen" aktivieren. Es ist erforderlich, ein neues Terminal zu öffnen, nachdem das Flag gesetzt wurde.

Manchmal muss der Befehl auf /bin/bash --login gesetzt werden.


Für remote - Verbindungen ist es wichtig, die Unterschiede zwischen der Ausführung der interaktiven ssh-Sitzung und der Ausführung einzelner Befehle zu kennen.

Wenn Sie ssh server ausführen und dann interaktiv mit dem Server arbeiten, verwenden Sie standardmäßig die Login-Shell. Dies ist in Ordnung, aber für ssh server "command" verwenden Sie keine Login-Shell, und Sie müssen sie mit ssh server 'bash -lc "command"' ausführen.

Bei jedem Remote-Aufruf kann dasselbe Problem auftreten wie bei der Ausführung eines einzelnen Befehls mit ssh

226
mpapis

Sie müssen Folgendes ausführen

$ source ~/.rvm/scripts/rvm

dann führe das aus

$ type rvm | head -n 1

und wenn du kriegst

rvm is a function

das Problem ist gelöst.

Sie müssen auch user$ rvm requirements ausführen, um die Abhängigkeitsanforderungen für Ihr Betriebssystem anzuzeigen

Quelle: 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!

417
Jorge García

Um dies dauerhaft zu beheben, schneiden Sie die folgende Zeile aus:

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

Von: ~/.bash_profile-Datei

An: ~/.bashrc-Datei

Grund dafür ist, dass .bashrc bei jeder Eingabe von terminal und .bash_profile bei jeder Anmeldung ausgeführt wird. Deshalb funktioniert die Lösung /bin/bash --login, aber Sie müssen dies jedes Mal tun, wenn Sie das Terminal betreten. Auf diese Weise sind Sie bis zu Ihrem nächsten Format eingestellt und Sie werden all dies bis dahin vergessen :)

101
Haris Krajina

Auch ich war mit diesem Problem konfrontiert. Schließlich habe ich diese Zeile am Terminal ausgeführt.

source ~/.rvm/scripts/rvm

Problem ist behoben Denn diese Zeile macht die RVM-Instanz für eine bestimmte Zeit zu einer Funktion.

28
Bastin Robin

Die letzte RVM (rvm 1.11.6 (stable)) funktionierte nicht mehr unter Ubuntu (10.10 - 64 Bit - nerdy gat oder was auch immer) - ich bekam immer mehr

"RVM ist keine Funktion, das Auswählen von Rubinen mit 'rvm use ...' wird nicht funktionieren."

Vorher hatte ich die Nachricht, aber 'rvm [email protected]' würde funktionieren. Nun, es würde nicht funktionieren - Edelsteine ​​konnten überhaupt nicht verändert werden.

Nichts hat funktioniert, bis ich das gefunden habe - mache dies die LETZTE Zeile in /home/your-name/.bashrc

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

21
Rod McLaughlin

Wie Sie gesagt haben, könnte der angezeigte Fehler der folgende sein.

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.

Geben Sie, wie bereits erwähnt, einfach '/bin/bash --login ' in Ihr Terminal ein (nach dem Neustart Ihres Terminals), geben Sie dann das Kommando 'rvm use 1.9.3' ein (z. B.), und die Verwendung des gleiche Version.

Führen Sie einfach den Befehl 'Ruby -v' aus, um zu bestätigen, dass die RVM die aktualisierte Version von Ruby verwendet.

9

Ich hatte dieses Problem auch bei einer neuen rvm-Installation, und keine der Antworten hier hat das Problem behoben. Auf der offiziellen rvm-Site, im Abschnitt "Grundlagen", haben sie den folgenden Befehl:

# from http://rvm.io/rvm/basics

source $ (rvm 1.9.3 do rvm env --path)

Sie sollten 1.9.3 für die Ruby-Version ändern, die Sie tatsächlich möchten, und rvm wird unabhängig vom Shell-Typ zu einer Funktion.

8
vcanales

Vielleicht kannst du Belows ausprobieren:

  • Ihr Terminal ->
  • Bearbeiten ->
  • Profileinstellungen ->
  • Titel und Befehl ->
  • Überprüfen Sie den "Befehl als Login-Shell ausführen".
  • Erledigt
7
Feuda

Führen Sie bash --login und dann rvm use 2.0.0 aus.

5
Gowri Tumma

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 brauchen nichts von dieser Login-Shell-Sache 

5
kapv89

Alle obigen Antworten sind gültig. Als ich jedoch das gleiche Problem sah, war die Lösung folgende:

  • ZSH aktualisieren. (Versucht, das Update direkt auszuführen, funktionierte aus irgendeinem Grund nicht. Daher wurde die aktualisierte Version von hier deinstalliert und erneut installiert).
  • Legen Sie die Standard-Shell als fest zsh (d. h. wenn Sie zsh bevorzugen) mit Sudo chsh -s $(which zsh) $USER
  • Stellen Sie sicher, dass der folgende Code sich am Ende Ihres .zshrc befindet, nachdem Sie die neueste RVM installiert haben, die wahrscheinlich CURL von offizieller RVM-Site verwendet.

    [[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
    source ~/.profile
    
  • MEHR WICHTIGER PUNKT: Stellen Sie sicher, dass in Ihrer .zshrc-Datei jeder Export nach PATH mit :$PATH angehängt wird. Ich glaube, dass die Wurzel meiner Probleme war, selbst nachdem ich die oben genannten Schritte befolgt hatte.

  • poste dies alle meine probleme von RVM Keine Funktion ging weg. Wenn es immer noch nicht funktioniert, geben Sie hier eine Fehlersuche an. Nach einigen Stunden Mühe, dieses Problem zu lösen, bin ich mir sicher, dass ich alle damit verbundenen Fehler gesehen haben muss.

Ich hoffe es hilft. Prost!

4
Vishnu Narang

Öffnen Sie das Terminal und gehen Sie zu Bearbeiten> Profileinstellungen . Gehen Sie dann zum Tab " Titel und Befehl " und prüfen Sie " Befehl als Login-Shell ausführen ".

Bash up a Bash und jetzt können Sie Gems direkt vom Terminal installieren, ohne Sudo zu verwenden, und der Fehler " RVM ist keine Funktion. Die Auswahl von Rubinen mit 'rvm use ...' wird nicht funktionieren. " wird funktionieren eliminiert.

Prost.

4
ajknzhol

Vorgehensweise zum Installieren von Ruby 1.9.3-p125 unter Mac OSX 10.8 Mountain Lion

  1. Sie haben bereits den neuesten XCode (> = 4.3) und den Befehlszeilen-Compiler "Objective-C " Installiert.
  2. Sie müssen die Shell "bash" ausführen, damit diese Prozedur funktioniert.
  3. Wechseln Sie zu den Systemeinstellungen
  4. Klicken Sie auf "Benutzer und Gruppen".
  5. Klicken Sie auf das Schloss unten links im Fenster und geben Sie Ihr Kennwort ein, um die Sperre aufzuheben.
  6. Klicken Sie bei gedrückter Strg-Taste auf das Benutzersymbol im linken Bereich des Bereichs und wählen Sie "Erweiterte Optionen ...".
  7. Ändern Sie die Login-Shell in "/ bin/bash".
  8. Schließen Sie die Einstellungen
  9. Öffne ein Terminalfenster (drücke Befehl + Leertaste und tippe "Terminal" ein)
  10. Folgen Sie den Anweisungen unter:

http://www.frederico-araujo.com/2011/07/30/installations-Rails-on-os-x-lion-mit-homebrew-rvm-und-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 über nicht gefundene/usr/local/rvm greift, müssen Sie einen Link erstellen:

    $ ln -s/Benutzer/[Ihr Benutzername] /. rvm/usr/local/rvm

3
George Campbell
source ~/.bash_profile

... sollte den Trick tun ..., wahrscheinlich müssen Sie sich abmelden und erneut anmelden.

Wie kann ich .bash_profile von der Kommandozeile aus neu laden?

2
user1800885

«Offizielle» Anweisungen gibt es: https://rvm.io/integration/gnome-terminal/

1
Sidhannowe

Ich hatte den gleichen Fehler, aber keine der Lösungen auf dieser Seite schien zu funktionieren. Für mich war es genug, die rvm-Programmdatei meinem Pfad hinzuzufügen:

PATH=$PATH:/usr/local/rvm/bin/

Et voila!

0

Ich hatte den gleichen Fehler, weil ich mit dem Befehl apt-get die alte rvm-Version Ruby-rvm installiert hatte. 

Ich löste das Problem, indem ich die Skriptzeile entferne, um die alte rvm in der .bashrc-Datei zu konfigurieren. 

Überprüfen Sie das alte Rvm-Konfigurationsskript und führen Sie dann die Quelle .profile aus 

0
ryancheung

Für diejenigen, die dasselbe Problem haben und die Lubuntu wie mich benutzen, folgte ich diesem link

Sie starten Ihr Terminal mit 

lxterminal -e "bash -il"

Danke an @mpapsis, der mich in die richtige Richtung zeigte

0
nizzin

Ich habe es behoben, indem ich diese Zeile zu .bash_profile hinzugefügt habe:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a Shell session *as a function*
0

Ich hatte das gleiche Problem und ich tat dies in meinem .bash_profile und es funktionierte .source "$HOME/.rvm/scripts/rvm"

0
Sadiksha Gautam