web-dev-qa-db-fra.com

Comment définir la version par défaut de Ruby avec RVM?

Ubuntu 11.

Je fais ce qui suit:

$ rvm --default use 1.9.2 et je reçois:

Using /home/md/.rvm/gems/Ruby-1.9.2-p180 donc c'est bien.

mais quand j'ouvre une nouvelle fenêtre de terminal, j'ai toujours:

$ Ruby -v

Ruby 1.8.7 (2010-08-16 patchlevel 302) [i686-linux]

35
Michael Durrant

Si vous insérez la ligne source RVM dans votre base (afin de vous assurer que les shells non interactifs ont accès à RVM), vous devez créer un fichier .bashrc à partir de votre fichier .bash_profile, en indiquant les dernières lignes de votre fichier .bash_profile

if [ -f "$HOME/.bashrc" ]; then
  source $HOME/.bashrc
fi

Cela suppose que vous avez

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

dans votre $ HOME/.bashrc. C'est un bon moyen de s'assurer que les shells interactifs/de connexion et non interactifs sont capables de trouver et de charger correctement le RVM. Les installations multi-utilisateurs accomplissent la même chose via le fichier /etc/profile.d/rvm.sh.

Après cela, vous ne devriez pas avoir de problèmes pour définir un Ruby par défaut à utiliser via

rvm 1.9.2 --default

ou 

rvm use 1.9.2@mygemset --default

Il est préférable de définir un gemset par défaut à utiliser afin de ne pas polluer vos gemsets «par défaut» ou «globaux».

Si vous utilisez des shells non interactifs, sachez qu'ils fonctionnent généralement en mode de compatibilité SH, ce qui vous oblige à définir

BASH_ENV="$HOME/.bashrc"

dans votre $ HOME/.profile pour charger RVM, ou pour le définir directement dans votre script. La raison en est que lorsque bash fonctionne en mode SH, il ne charge pas directement les fichiers .bash_profile ou .bashrc, car SH n'utilise pas ces fichiers, et bash tente d'imiter le processus de chargement et d'exécution du shell SH.

41
ddd

faire une "liste de rvm" pour voir quelles versions de Ruby vous avez installées.

faites ceci si vous voulez changer la version seulement dans une session de terminal:

rvm use 1.8.7

si vous souhaitez sélectionner la version par défaut de ce compte utilisateur, procédez comme suit:

rvm use --default 1.9.2

Voir:

rvm use --help

Voir aussi ce RailsCast:

http://railscasts.com/episodes/200-Rails-3-beta-and-rvm

http://beginrescueend.com/

10
user985823

Tard pour faire la fête - quand même. 

Vous avez correctement défini la version par défaut de Ruby: rvm --default use 1.9.2

Cependant, vous devez mettre à jour votre Gemfile vers le Ruby cible, car RVM référence ce fichier pour sélectionner la version de Ruby active lorsque vous ouvrez le terminal. C'est pourquoi il est revenu à la version précédente de Ruby. 

1
user1322092

Pour changer la version par défaut de Ruby:

Dans Ubuntu

Allez au terminal par défaut d’Ubuntu puis suivez les instructions:

1) Edit -> Profile Preferences
2) Select "Title and Command"
3) check "Run command as a login Shell"
4) restart terminal

Et après cela, lancez cette commande:

rvm --default use 2.2.4@gemset_name

0
indb