web-dev-qa-db-fra.com

Comment mettre à jour les interprètes Ruby avec RVM?

J'ai installé RVM avec quelques versions des interprètes Ruby il y a quelque temps. Comment puis-je le mettre à jour, car de nouvelles versions sont déjà sorties?

Je n'ai trouvé qu'une seule façon: rvm install 1.9.2-rc1 && rvm remove 1.9.2-preview1, mais mes gemmes sont perdues. Puis-je mettre à jour les succursales de temps en temps? Je n'ai trouvé aucun conseil dans la documentation.

57
mystdeim

La version rvm actuelle offre un moyen plus simple de le faire. L'option de mise à niveau fera migrer les ensembles de gemmes, les wrappers et les fichiers d'environnement -

$ rvm upgrade 1.9.2-p136 1.9.2-p180

Pour savoir s'il existe une version stable plus récente d'une implémentation Ruby pour laquelle vous pouvez effectuer une mise à niveau, obtenez d'abord la dernière version de RVM, puis énumérez les versions connues de Ruby.

$ rvm get stable
$ rvm list known

Vous pouvez comparer ceci les versions Ruby installées sur votre système

$ rvm list rubies
21
andy318

Utilisez le rvm upgrade 1.9.2-preview1 1.9.2-rc1 commande ou regardez ceci screencast

83
nihique

[Edit: rvm a une nouvelle commande pour mettre à jour - vous voudrez probablement utiliser la réponse de andy318]

AFAIK, il n'y a pas de moyen automatique de le faire pour le moment, mais quelque chose comme ça vous permet de garder vos joyaux:

 rvm use 1.9.2-preview1
 rvm gemset export
 rvm install 1.9.2-rc1
 rvm use 1.9.2-rc1
 rvm gemset import
 rvm remove 1.9.2-preview1

Maintenant, pour automatiser les mises à jour, vous devez détecter les changements de version, c'est facile, car vous pouvez simplement utiliser la valeur de retour de rvm use 1.9.2. Découvrir ce qu'est la nouvelle version (1.9.2-rc1) n'est pas nécessaire, car il est aliasé 1.9.2. L'astuce consiste à trouver la dernière version installée de 1.9.2. Vous pourriez faire quelque chose comme ça dans un travail cron:

# make sure you source rvm first
rvm update --head
rvm reload
if [ ! rvm use 1.9.2 ]; then
  for Ruby_version in `rvm list strings`; do
    # find the latest version of 1.9.2
    case $Ruby_version in
      Ruby-1.9.2-*) latest192=$Ruby_version;;
    esac
  done
  rvm use $latest192
  rvm gemset export 192.gems
  rvm install 1.9.2
  rvm use 1.9.2
  rvm gemset import 192
  rvm remove $latest192
fi

N'a pas essayé cela, mais j'ai un code similaire dans mon script de mise à jour. J'ai aussi glissé dans un gem update et d'autres trucs.

N'hésitez pas à visiter la chaîne #rvm IRC sur Freenode.

25
Konstantin Haase

vous pouvez installer les derniers rvm et Ruby par:

$\curl -L https://get.rvm.io | bash -s stable --Ruby

et vérifiez toutes les versions Ruby avec stabilité

Liste de $ rvm connue

peut également vérifier les détails ici: http://www.Ruby-lang.org/en/downloads/

$ rvm install Ruby 2.0.0-p247

À utiliser lorsque vous souhaitez télécharger une version spécifique ou que celle-ci est stable.

3
Jigar Bhatt

Il y a une fantastique interface graphique RVM appelée JewelryBox que j'utilise pour gérer mes versions Ruby

http://jewelrybox.unfiniti.com

2
Adam Waite