Frage

Ich habe gerade installiert Ruby-Version Manager (RVM), die feine Arbeit, aber es hat mich gebeten, die folgende Zeile in meinem /.bash_profile zu setzen und ~ / .bashrc Dateien:

if [[ -s /Users/tammam56/.rvm/scripts/rvm ]] ; then source /Users/tammam56/.rvm/scripts/rvm ; fi

auf den Inhalt schauen sehe ich die folgende:

tammam56$ cat /.bash_profile
export PATH="/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:$PATH"
if [[ -s /Users/tammam56/.rvm/scripts/rvm ]] ; then source /Users/tammam56/.rvm/scripts/rvm ; fi

tammam56$ cat ~/.bashrc 
export PATH=/usr/local/bin:$PATH
export MANPATH=/usr/local/man:$MANPATH
if [[ -s /Users/tammam56/.rvm/scripts/rvm ]] ; then source /Users/tammam56/.rvm/scripts/rvm ; fi

Allerdings, wenn ich neue Terminal-Fenster startet es nicht den Befehl ich das weiß, wie ich meine Standard-Ruby-verion auf 1,9 eingestellt, und wenn ich die Zeile manuell ausführen bekomme ich auf die richtige Version:

tammam56$ ruby -v
ruby 1.8.7 (2008-08-11 patchlevel 72) [universal-darwin10.0]
Macintosh-37:~ tammam56$ if [[ -s /Users/tammam56/.rvm/scripts/rvm ]] ; then source /Users/tammam56/.rvm/scripts/rvm ; fi
Macintosh-37:~ tammam56$ ruby -v
ruby 1.9.1p378 (2010-01-10 revision 26273) [i386-darwin10.2.0]

Alle Ideen, wie kann ich das Problem beheben?

Danke,

Tam

War es hilfreich?

Lösung

Wenn Sie eine ~ / .profile versuchen Sie die folgende Zeile ihm hinzufügen.

if [[es /Users/tammam56/.rvm/scripts/rvm]]; dann /Users/tammam56/.rvm/scripts/rvm beziehen; fi

Andere Tipps

Haben Sie, dass andere Befehle in Bashrc bestätigt und / oder Bash_profile korrekt aktualisiert werden?

Als nächstes sollten Sie überprüfen, ob die Shell-Terminal als Login-Shell startet oder nicht (siehe unter Einstellungen -> Startup).

Von der bash man-Seite:

  

Wenn bash als interaktive Login-Shell aufgerufen oder als nicht-inter-          aktive Schale mit der --login Option, es zuerst liest und führt Kom-          mands aus der Datei / etc / profile, ob die Datei existiert. Nach dem Lesen          die Datei, sucht es nach ~ / .bash_profile, ~ / .bash_login und ~ / .profile,          in dieser Reihenfolge, und liest und führt Befehle von der ersten, dass          existiert und lesbar ist. Die --noprofile Option kann verwendet werden, wenn die          Shell ist der Autor dieses Verhalten zu verhindern.

     

Wenn eine interaktive Shell, die kein Login-Shell ist gestartet wird, bash          wenn liest und führt Befehle aus ~ / .bashrc, dass Datei vorhanden ist. Diese          kann unter Verwendung der Option --norc gehemmt werden. Die --rcfile Datei Option          zwingt Bash Befehle aus der Datei zu lesen und auszuführen statt          ~ / .Bashrc.

Ich fand, dass die einfachste Lösung für dieses Problem war der gesamte Inhalt von meiner ~ / .bashrc-Datei zu verschieben (so meine ~ / .bashrc jetzt leer ist) auf eine neue ~ / .bash_profile-Datei. Nun sind alle Terminal.app Registerkarten automatisch alle Zeilen in ~ / .bash_profile enthalten laufen. Dies gilt auch für iTerm.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top