2014-01-24 14 views
7

Ich benutze Fisch Shell 2.10 unter Mac OS X 10.9.1. Ich würde gerne einen Ruby verwenden, den ich mit RVM als Standard in meinen Terminals installiert habe, aber ich kann nicht scheinen, dass dies funktioniert.Wie Fisch-Shell eine Rvm Ruby standardmäßig verwenden

Ich habe rvm use 2.1.0 --default versucht, aber auf ein neues Terminal zu öffnen ich noch folgendes:

> which ruby 
/usr/bin/ruby 

Ausführen des rvm Befehl bewirkt, dass der Rubin geladen werden:

> which ruby 
/usr/bin/ruby 
> rvm 
[...] 
> which ruby 
/Users/alex/.rvm/rubies/ruby-2.1.0/bin/ruby 

Aber es ist ärgerlich, Ich muss dies jedes Mal tun, wenn ich ein neues Terminal öffne.

+0

haben Sie ruby ​​2.1.0 mit rvm installiert? –

+0

Ja, habe ich. Dasselbe passiert jedoch, wenn man versucht, andere installierte Rubies als Standard zu setzen. – Alex

+0

Problem: '/ usr/bin/ruby ​​-v', und bitte schauen Sie auf' .bash_profile', um die Zeile zu sehen: 'source" $ HOME/.rvm/scripts/rvm "' –

Antwort

15

Zum einer rvm Fisch Funktionen von rvm.io Führen Sie einfach diese in jeder Shell installieren:

curl -L --create-dirs -o ~/.config/fish/functions/rvm.fish https://raw.github.com/lunks/fish-nuggets/master/functions/rvm.fish 

Sie sollten nun in der Lage sein, rvm Befehl in Fisch zu verwenden. (Reopen Terminal)

Was nun die die oben genannten Funktionen für mich nicht vollständig arbeiten :)

Wie auch immer, wenn Sie die unten an Konfigurationsdatei hinzufügen, sollten Sie in Ordnung sein:

echo 'rvm default' >> ~/.config/fish/config.fish 

Sie sollte jetzt in der Lage sein, Ruby-verwandte Binärdateien und Edelsteine ​​zu verwenden. (Reopen terminal)

5

Installieren Sie oh-my-fish sehr nützliche Tools, haben Rvm-Plugin und viele andere cool.

Rahmen für Ihre Fische Schalenkonfiguration Verwaltung

+0

Ich habe dies installiert (und das RVM-Plugin aktiviert), bin mir aber nicht sicher, wie ich es dazu bringen kann, mein RVM Ruby standardmäßig zu laden. Momentan ist das Verhalten dasselbe wie in meiner Frage beschrieben. – Alex

+0

Dieses Plugin bieten Ruby-Umgebung-Manager, ich habe das gleiche Problem und diese Lösung verwenden. Offenbar stimmt etwas nicht mit dir config oder Pfadvariable –

+0

Dieses Projekt scheint aufgegeben. Benutze stattdessen Fischer https://github.com/fisherman/fisherman –

0

Die unten für mich aus dem Forum Fisch Google-Gruppe gearbeitet. Kredit eggegg für diese Lösung unter:

Die ursprüngliche Unterstützung für Fisch Shell erfordert Bash-Skript zu einem Fisch-Skript zu konvertieren. Wie hier erwähnt: https://rvm.io/integration/fish.

Ich fand, dass es eine einfachere Lösung gibt: lass Bash die Bash-Skripte machen, wir brauchen nur das Ergebnis der Umgebungsvariablen.

Code: https://gist.github.com/eggegg/6077153

Legen Sie einfach die erste in Ihre eigene config.fish, dann rvm.fish kopieren zu ~/.config/Fisch/Funktionen/werden die Tricks tun.

+1

Links zu externen Ressourcen werden empfohlen, aber bitte fügen Sie Kontext um den Link, so dass Ihre Mitbenutzer eine Ahnung haben, was es ist und warum es da ist. Zitiere immer den relevantesten Teil eines wichtigen Links, falls die Zielseite nicht erreichbar ist oder permanent offline geschaltet wird. –

0

Dies tritt auf, weil die Rubine, die über RVM installiert werden, nicht zu Ihrem Pfad hinzugefügt werden. Wenn Sie einen RVM-Befehl ausführen, fügt er die Pfade relativ zur Ruby-Version hinzu, die Sie für $ PATH verwenden. RVM scheint sich um bash und zsh zu kümmern, hat aber keine integrierte Unterstützung, um die Pfade für Ihre Punktdateien zu korrigieren.

Hier ist ein Beispiel von meinem Weg vor einem RVM-Befehl:

/Users/grant/pear/bin /usr/local/sbin/ /Users/grant/.rvm/bin /usr/local/bin /usr/bin /bin /usr/sbin /sbin /usr/local/git/bin /usr/local/go/bin 

Hier ist ein Beispiel von meinem Weg nach ‚rvm‘ ausgeführt wird:

/Users/grant/.rvm/gems/ruby-2.2.0/bin /Users/grant/.rvm/gems/[email protected]/bin /Users/grant/.rvm/rubies/ruby-2.2.0/bin /Users/grant/pear/bin /usr/local/sbin/ /Users/grant/.rvm/bin /usr/local/bin /usr/bin /bin /usr/sbin /sbin /usr/local/git/bin /usr/local/go/bin 

Unterm Strich ist, dass Sie mögen, werden um die .rvm-Dateien zu Ihrem Pfad hinzuzufügen, abhängig von der Version, die Sie standardmäßig verwenden. This post half mir herauszufinden, wie das geht. Sie können die Pfade anhängen, die RVM zu Ihrem Fisch Profil ergänzt mit:

set -g -x PATH $PATH <paths_to_add> 

Beispiel von oben:

set -g -x PATH $PATH /Users/grant/.rvm/gems/ruby-2.2.0/bin /Users/grant/.rvm/gems/[email protected]/bin /Users/grant/.rvm/rubies/ruby-2.2.0/bin 

diesem Lauf Sie Fisch laden jedes Mal haben, den obigen Befehl zu ~/hinzuzufügen. config/fish/config.fish. Alternativ können Sie den Befehl rvm zu Ihrer Fischkonfiguration hinzufügen und ihn für Sie laden lassen.

Hoffe, das hilft! -Grant

0

In Ihrem config.fish Last rvm Plugin und nennen es still:

. ~/oh-my-fish/plugins/rvm/rvm rvm >/dev/null

Wenn Sie bob-the-Fisch Thema verwenden Sie in Ihrem Prompt eine rubin Version haben werden wie folgt aus:

ruby-2.1.2 > ~/d/web > master >

Welche unterdrückt werden kann, wenn Sie möchten, indem Sie die Linie unten in bobthefish/fish_prompt.fish Entfernung:

__bobthefish_prompt_rubies

5

Ich denke, um es einfacher zu machen, können Sie eine rvm Plugin Fisch Shell über fisher hinzufügen können.

Für die Installation Fischer:

curl -Lo ~/.config/fish/functions/fisher.fish --create-dirs git.io/fisher 

Nach RVM-Plugin für Fisch Shell installieren:

fisher rvm 

Danach, rvm läuft perfekt

Verwandte Themen