RVM s'installe très rapidement en tapant la ligne de commande suivante :
bash < <( curl http://rvm.beginrescueend.com/releases/rvm-install-head )
Il est ensuite possible d'installer les interpréteurs Ruby que vous souhaitez utiliser ou tester d'un simple rvm install [interpréteur], que l'interpréteur en question soit le tout récent Ruby 1.9.2, Rubinius, JRuby, IronRuby ou bien d'autres encore. Vous pouvez alors passer d'un interpréteur Ruby à un autre en tapant rvm use [interpréteur]. De même, vous pouvez choisir l'ensemble de gems qui vous intéresse grâce à la commande rvm gemset. Tout ceci peut être très pratique pour tester une bibliothèque Ruby avec plusieurs versions de Ruby ou un greffon Rails avec plusieurs versions de Rails.
RVM est publié sous licence MIT et vient d'atteindre la version 1.0.0, un an exactement après le premier commit. Cette évolution rapide a notamment été permise par le travail de Darcy Laycock, alias Sutto, dans le cadre du Ruby Summer of Code. Parmi les changements récents, nous pouvons citer :
- RVM demande maintenant à l'utilisateur s'il a confiance dans un fichier rvmrc d'un projet avant de l'exécuter pour des raisons de sécurité
- Une option --with-rubies a été ajoutée pour lancer une commande avec un ensemble particulier d'environnements (par exemple, rvm --with-rubies gemsets ruby [somethimg] lancera la commande ruby pour tous les gemsets de l'interpréteur Ruby courant).
- La complétion des commandes, des rubies et des gemsets dans ZSH.
Aller plus loin
- Ruby Version Manager (10 clics)
- L'annonce de la version 1.0.0 de RVM (3 clics)
- Conseils d'utilisation de RVM (15 clics)
# Complétion pour ZSH
Posté par Bruno Michel (site web personnel) . Évalué à 1.
[^] # Re: Complétion pour ZSH
Posté par Bapt (site web personnel) . Évalué à 2.
[^] # Re: Complétion pour ZSH
Posté par Bruno Michel (site web personnel) . Évalué à 1.
# bash < <( curl http://et.si.ce.script.faisait.un.rm-rf/)
Posté par Laurent . Évalué à 10.
- exécuter un script shell directement à partir d'un get http est une très mauvaise idée, en effet rien ne permet de vérifier que le script qui sera téléchargé est bien celui qui est sensé être utilisé
- le script proposé fait quelques assomptions et je doute que cela fonctionne chez tout le monde sans que les pré-requis (git, dos2unix) soient satisfaits
En d'autres termes, je trouve très peu responsable de proposer cette méthode d'installation, ce serait vraiment déplorable d'habituer les utilisateurs a ces abominations.
[^] # Re: bash < <( curl http://et.si.ce.script.faisait.un.rm-rf/)
Posté par Zarmakuizz (site web personnel) . Évalué à 0.
Commentaire sous licence LPRAB - http://sam.zoy.org/lprab/
[^] # Re: bash < <( curl http://et.si.ce.script.faisait.un.rm-rf/)
Posté par Thomas J. (site web personnel) . Évalué à 2.
Pourtant un gem existe mais le site ne recommande pas son utilisation, alors l'utilisateur bête et méchant suit le chemin indiqué en dépit du bon sens.
Au delà du troll à 2 sous que lance Zarmakuizz, il est vrai que RVM simplifie tellement la vie du Rubyist qu'il est presque prêt à tout.
[^] # Re: bash < <( curl http://et.si.ce.script.faisait.un.rm-rf/)
Posté par Bruno Michel (site web personnel) . Évalué à 1.
On peut, par exemple, installer RVM en tant que gem Ruby, mais ce n'est pas pratique parce que cela demande à avoir un interpréteur Ruby avant d'installer RVM or on souhaite généralement installer tous ses interpréteurs avec RVM.
Pour les implications de sécurité, cette méthode est strictement équivalente à télécharger un tarball, le décompresser et lancer un ./configure && make && make install. C'est pourtant une méthode généralement utilisée et acceptée dans des univers autres que Ruby. Idéalement, RVM serait packagé dans les différentes distributions et on pourrait l'installer grâce à aptitude|rpm|autres. En attendant, je ne vois pas trop ce que l'on peut faire de plus (à part relire tout le code de RVM avant de l'installer).
[^] # Re: bash < <( curl http://et.si.ce.script.faisait.un.rm-rf/)
Posté par Thierry Thomas (site web personnel, Mastodon) . Évalué à 3.
Sauf que les développeurs sérieux indiquent le MD5 (ou mieux) du tarball, et qu'avant de le décompresser, les utilisateurs sensés sont censés le vérifier...
[^] # Re: bash < <( curl http://et.si.ce.script.faisait.un.rm-rf/)
Posté par Corentin Chary (site web personnel) . Évalué à 9.
Mais bon, vous savez quoi ? Nos gentils gestionnaires des paquets font déjà tout ça tout seul ... Pourquoi ne pas les utiliser ?
[^] # Re: bash < <( curl http://et.si.ce.script.faisait.un.rm-rf/)
Posté par Larry Cow . Évalué à 6.
[^] # Re: bash < <( curl http://et.si.ce.script.faisait.un.rm-rf/)
Posté par Sebastien (site web personnel) . Évalué à 7.
Moi, dans la lecture du code source de l'installeur, je me suis arrêté aux "perl -e 'sleep 0.2'". En partie utilisés, je crois, pour le truc qui gigote pour dire que quelque chose se passe (oui, c'est donc un script shell qui en boucle appelle perl pour faire un sleep de 200 millisecondes, rien que ça).
Et après, je suis allé voir ailleurs si j'y étais.
[^] # Re: bash < <( curl http://et.si.ce.script.faisait.un.rm-rf/)
Posté par yellowiscool . Évalué à 3.
Envoyé depuis mon lapin.
[^] # Re: bash < <( curl http://et.si.ce.script.faisait.un.rm-rf/)
Posté par Sylvain Sauvage . Évalué à 4.
Note issue des commentaires (n°3) : il semblerait que les appels à perl (pour les sleep) ont été virés…
[^] # Re: bash < <( curl http://et.si.ce.script.faisait.un.rm-rf/)
Posté par Bruno Michel (site web personnel) . Évalué à 3.
Je confirme, le commit est là : http://github.com/wayneeseguin/rvm/commit/a50631bed651f35dc7(...) .On appréciera le message de commit : « Removed the 'fun with perl' items, some people have no sense of humor. »
[^] # Re: bash < <( curl http://et.si.ce.script.faisait.un.rm-rf/)
Posté par Sylvain Sauvage . Évalué à 2.
# Le patrick_g du Ruby
Posté par Thomas J. (site web personnel) . Évalué à 6.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.