Question

Je viens d'installer Ruby Version Manager (RVM), qui fonctionne très bien, mais il m'a demandé de mettre la ligne suivante dans mon /.bash_profile et ~ / .bashrc fichiers:

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

regardant le contenu que je vois ce qui suit:

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

Cependant, quand je commence une nouvelle fenêtre Terminal il n'exécute pas la commande que je sais ce que je mets mon défaut Ruby verion à 1.9 et si j'exécute la ligne que je reçois manuellement la version correcte:

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]

Toutes les idées comment je peux résoudre ce problème?

Merci,

Tam

Était-ce utile?

La solution

Si vous avez un ~ / .profile essayez d'ajouter la ligne suivante à elle.

si [[-s /Users/tammam56/.rvm/scripts/rvm]]; puis la source /Users/tammam56/.rvm/scripts/rvm; fi

Autres conseils

Avez-vous confirmé que d'autres commandes dans .bashrc et / ou .bash_profile sont mis à jour correctement?

Ensuite, vous devez confirmer si Terminal commence la coquille comme une coquille de connexion ou non (voir sous Préférences -> Démarrage).

A partir de la page man bash:

  

Lorsque bash est invoqué comme une coquille de connexion interactive, ou en tant que non-inter-          shell actif avec l'option --login, elle lit et exécute com-          mandes du fichier / etc / profile, si ce fichier existe. Après avoir lu          ce fichier, il recherche ~ / .bash_profile, ~ / .bash_login et ~ / .profile,          dans cet ordre, et lit et exécute les commandes à partir de la première que          existe et est lisible. L'option --noprofile peut être utilisée lorsque le          coquille commence à inhiber ce comportement.

     

Quand un shell interactif qui n'est pas un shell de connexion est démarré, bash          lit et exécute les commandes de ~ / .bashrc, si ce fichier existe. Cette          peut être inhibée en utilisant l'option --norc. L'option de fichier --rcfile          forcera bash à lire et à exécuter des commandes de fichier au lieu de          ~ / .Bashrc.

J'ai trouvé que la meilleure solution à ce problème était de déplacer tout le contenu de mon fichier ~ / .bashrc (donc mon ~ / .bashrc est maintenant vide) à un nouveau fichier ~ / .bash_profile. Maintenant, tous les onglets Terminal.app exécutent automatiquement toutes les lignes incluses dans ~ / .bash_profile. Cela vaut également pour iTerm.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top