RVM: Le virtualenv de chez Ruby
Ruby Version Manager (RVM) est l’outil nécessaire à toutes personnes souhaitant développer avec différents environnements de Ruby. Si je n’abuse, c’est un peu le virtualenv de Ruby. Il vous permettra d’installer et d’utiliser différentes versions de Ruby de manière très simple, y compris les toutes dernières sans avoir à compiler les sources soi-même.
Installation
Pour cela, nous demandons à curl
de télécharger le script d’installation de RVM puis à bash
d’installer la version stable.
$ gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 $ curl -sSL https://get.rvm.io | bash -s stable Downloading https://github.com/rvm/rvm/archive/1.27.0.tar.gz Downloading https://github.com/rvm/rvm/releases/download/1.27.0/1.27.0.tar.gz.asc gpg: Signature faite le mar. 29 mars 2016 15:49:47 CEST avec la clef RSA d'identifiant BF04FF17 ... GPG verified '/home/apapillon/.rvm/archives/rvm-1.27.0.tgz' Installing RVM to /home/apapillon/.rvm/ Adding rvm PATH line to /home/apapillon/.profile /home/apapillon/.mkshrc /home/apapillon/.bashrc /home/apapillon/.zshrc. Adding rvm loading line to /home/apapillon/.profile /home/apapillon/.bash_profile /home/apapillon/.zlogin. Installation of RVM in /home/apapillon/.rvm/ is almost complete: * To start using RVM you need to run `source /home/apapillon/.rvm/scripts/rvm` in all your open shell windows, in rare cases you need to reopen all shell windows.
Utilisation de RVM
RVM nous permet de lister l’ensemble des versions Ruby qu’il supporte via la commande suivante :
$ rvm list known # MRI Rubies [ruby-]1.8.6[-p420] [ruby-]1.8.7[-head] # security released on head ... [ruby-]2.3[.0] [ruby-]2.2-head ruby-head # for forks use: rvm install ruby-head-<name> --url https://github.com/github/ruby.git --branch 2.2 # JRuby jruby-1.6[.8] jruby-1.7[.23] ...
L’installation d’une nouvelle version de Ruby, comme je vous le disais précédemment, est vraiment très simple. L’avantage de cette installation est quel sera faite en mode utilisateur du coup vous ne modifiez pas votre système.
$ rvm install 2.3 Searching for binary rubies, this might take some time. No binary rubies available for: debian/8/x86_64/ruby-2.3.0. Continuing with compilation. Please read 'rvm help mount' to get more information on binary rubies. Checking requirements for debian. Installing requirements for debian. Updating system apapillon password required for 'apt-get --quiet --yes update': ../ ............ Installing required packages: make, libreadline6-dev, libyaml-dev, libgmp-dev, libgdbm-dev, bison ........... Requirements installation successful. Installing Ruby from source to: /home/apapillon/.rvm/rubies/ruby-2.3.0, this may take a while depending on your cpu(s)... ruby-2.3.0 - #downloading ruby-2.3.0, this may take a while depending on your connection... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 13.5M 100 13.5M 0 0 886k 0 0:00:15 0:00:15 --:--:-- 997k ruby-2.3.0 - #extracting ruby-2.3.0 to /home/apapillon/.rvm/src/ruby-2.3.0.... ruby-2.3.0 - #configuring.......................................................... ruby-2.3.0 - #post-configuration.. ruby-2.3.0 - #compiling................................................................................ ruby-2.3.0 - #installing................. ruby-2.3.0 - #making binaries executable.. Installed rubygems 2.5.1 is newer than 2.4.8 provided with installed ruby, skipping installation, use --force to force installation. ruby-2.3.0 - #gemset created /home/apapillon/.rvm/gems/ruby-2.3.0@global ruby-2.3.0 - #importing gemset /home/apapillon/.rvm/gemsets/global.gems............................................... ruby-2.3.0 - #generating global wrappers........ ruby-2.3.0 - #gemset created /home/apapillon/.rvm/gems/ruby-2.3.0 ruby-2.3.0 - #importing gemsetfile /home/apapillon/.rvm/gemsets/default.gems evaluated to empty gem list ruby-2.3.0 - #generating default wrappers........ ruby-2.3.0 - #adjusting #shebangs for (gem irb erb ri rdoc testrb rake). Install of ruby-2.3.0 - #complete Ruby was built without documentation, to build it run: rvm docs generate-ri
Si vous avez plusieurs versions de Ruby d’installées, vous pouvez passer d’une version à une autre via cette simple commande. Par exemple pour utiliser la version 2.3 :
$ rvm use 2.3
Si vous avez des suggestions, des questions, des informations supplémentaires, n’hésitez pas à commenter.