Après avoir utilisé Ruby and Rails pendant un certain temps maintenant, je voulais essayer RVM. Tout fonctionne bien, sauf pour une chose:
Dans un Terminal Ruby
fraîchement ouvert, pointe sur le système Ruby, malgré le fait que j'ai utilisé la commande rvm --default
.
user@terra ~ $ Ruby -v
Ruby 1.8.7 (2010-08-16 patchlevel 302) [i686-darwin10]
user@terra ~ $ which Ruby
/opt/local/bin/Ruby
user@terra ~ $ rvm list
Ruby-1.8.7-p334 [ ]
=> Ruby-1.9.2-p180 [ ]
Tout va bien après que j'ai appelé rvm reload
user@terra ~ $ rvm reload
user@terra ~ $ Ruby -v
Ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-darwin10.7.1]
tmangner@terra ~ $ which Ruby
/Users/user/.rvm/rubies/Ruby-1.9.2-p180/bin/Ruby
J'ai configuré mon .bash_profile
comme décrit dans la documentation:
...
[[ -s "/Users/user/.rvm/scripts/rvm" ]] && source "/Users/user/.rvm/scripts/rvm"
Merci de votre aide. C'est très apprécié.
J'utilise Mac OS X Snow Leopard (10.6.6)
Mettre à jour:
Ce --default
ne semble pas fonctionner pour moi ...
user@terra ~ $ rvm use 1.9.2 --default
Using /Users/user/.rvm/gems/Ruby-1.9.2-p180
user@terra ~ $ rvm default
user@terra ~ $
J'ai eu le même problème une fois. En fait, le script rvm a été chargé deux fois, ce qui a un peu modifié les choses.
Vérifiez tous les fichiers chargés lors de l'ouverture d'un shell, par exemple. /etc/profile
, ~/.bashrc
, ~/.bash_profile
et ainsi de suite, et assurez-vous qu'ils ne chargent pas RVM deux fois.
Peut-être mettre echo "Going to load RVM"
avant [[ -s "/Users/user/.rvm/scripts/rvm" ]] && source "/Users/user/.rvm/scripts/rvm"
dans votre ~/.bash_profile
pour voir si cela se produit ou non
Déplacer ceci:
[[ -s "/usr/local/rvm/scripts/rvm" ]] && . "/usr/local/rvm/scripts/rvm"
dans le bas de ~/.bash_profile a résolu le problème pour moi.
Un correctif possible pour les utilisateurs de ZSH:
D'une certaine manière j'avais:
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
dans .zprofile et .zshrc.
Supprimer la ligne de .zprofile a résolu le problème. (Bien que vous devriez pouvoir supprimer l'un ou l'autre, à condition qu'il n'apparaisse qu'une seule fois)
J'ai eu le même problème. Déplacer la ligne: [[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function
après la ligne de MacPorts: export PATH=/opt/local/bin:/opt/local/sbin:$PATH
résolu le problème pour moi.
avez-vous exécuté la commande rvm utilise --default 1.9.2?
Cela a fonctionné pour moi sur openSUSE, je ne connais pas encore Snow Leopard.
Au lieu de:
rvm use 1.9.2 --default
J'ai utilisé la version complète:
rvm use Ruby-1.9.2-p290 --default
Cela a fonctionné pour moi en zsh.
J'ai eu le même problème et depuis que j'utilise Oh-My-Zsh , il était un peu plus difficile de suivre si j'ai des appels en double vers RVM.
Je l'ai corrigé en déplaçant l'appel vers RVM à partir du fichier séparé rvm.zsh situé dans mon dossier\custom dans\oh-my-zsh jusqu'à la toute fin de mon fichier principal .zshrc.
Il semble que RVM soit vraiment sensible aux appels non à la fin de la séquence d'initialisation de zsh.
vérification de l'intégrité - assurez-vous que le projet sur lequel vous travaillez a la même version de Ruby que celle que vous essayez de définir par défaut dans le fichier .Ruby-version.
cela m'est arrivé et je ne pouvais pas comprendre pourquoi rvm
n'utilise pas mon défaut
J'ai eu le même problème sur Mac OS X 10.7.
Et plus tard, j'ai découvert que mon compte n'avait pas été ajouté au groupe "rvm".
Une fois que je me suis ajouté au groupe rvm, je peux définir --default of rvm.
Mon problème a été résolu en changeant:
PATH=/usr/local/bin
à PATH=$PATH:/usr/local/bin
dans mon .zshrc
source @github RVM file d'attente
Évidemment, vous devez vous assurer que RVM est d’abord correctement installé, puis lancez la vérification type rvm | head -1
que @choise vous a suggérée. rvm use --default 1.9.3-p362
fonctionne maintenant correctement.
J'ai dû supprimer la ligne [[ -s "/usr/local/rvm/scripts/rvm" ]] && . "/usr/local/rvm/scripts/rvm"
de ~/.bash_profile et la déplacer au bas de ~/.bashrc.
Cela corrigeait le problème sous OS X 10.10.1.
Essayez ceci pour définir Ruby par défaut pour le nouveau Shell:
Sudo rvm alias create default 1.9.2
Pour une raison quelconque, j'avais dans mon répertoire $ HOME/bin Ruby, Gem, Rake, ... des fichiers de remplacement. Un exemple ci-dessous. Par conséquent, mon utilisation de RVM --default 1.9.3 ne fonctionnait pas comme prévu. Supprimer le répertoire $ HOME/bin a résolu le problème.
cat bin/Ruby
#!/usr/bin/env bash
if [[ -s "/usr/local/rvm/environments/Ruby-1.9.2-p290" ]]
then
source "/usr/local/rvm/environments/Ruby-1.9.2-p290"
exec Ruby "$@"
else
echo "ERROR: Missing RVM environment file: '/usr/local/rvm/environments/Ruby-1.9.2-p290'" >&2
exit 1
fi
J'ai suivi les suggestions ci-dessus - vérifié mon bash_profile (ce qui était bien) et également remarqué que, dans Ubuntu, vous devrez peut-être prendre en compte les conseils de https://rvm.io/support/faq/#Shell_login
Cependant, j'avais toujours ce problème jusqu'à ce que je réalise que le projet que j'essayais d'exécuter contenait un fichier .rvmrc spécifiant une version de Ruby que je n'avais pas installée. Quand j'ai corrigé ceci - j'ai cessé d'avoir le problème (donc ce n'est pas que l'utilisation par défaut ne fonctionnait pas, mais que ce projet l'ignorait)
Vous devez mettre le chemin à parcourir devant votre PATH
$ export PATH=/path/to/rvm-dir:$PATH
qu'est-ce que type rvm | head -1
imprime?
dans mon bash_profile (sur le dernier osx) je devais mettre
# Ruby Version Manager
[[ -s "/usr/local/rvm/scripts/rvm" ]] && . "/usr/local/rvm/scripts/rvm"
j'ai également créé un gemset et réglé ceci par défaut:
rvm reload
rvm install 1.9.2
rvm --create use 1.9.2@default
rvm --default use 1.9.2@default
même pb ici. la ligne était là deux fois et il l'a cassée ... pour une raison quelconque ... supprimer la ligne superflue l'a résolu
JewelryBox pour la première fois sur Mac OS et dans la section Préférences, vous trouverez
"show default Ruby in system menu bar"
en cochant cette case, vous pourrez basculer entre les rubis.
Vous pouvez sélectionner vos rubygems pré-installés (si vous en avez) via "système @ *".