Instalace RVM na Debian/Ubuntu

23. 10. 2010 22:06 Jiří Václavovič

Ruby Version Manager (RVM) je nástroj, který umožňuje instalaci různých interpretů Ruby a přepínámí mezi nimi. Na jednom počítači je tak možné nainstalovat různé verze oficiálního interpreteru (MRI) nebo různé alternativy jako jsou Rubinius, JRuby nebo Ruby Enterprise Edition. Zároveň je možné vytvářet tzv. gemsety, tedy oddělené sady gemů pro každý interpret. To v podstatě umožňuje jakousi virtualizaci prostředí pro každý projekt. Máte pak přehled nad instalovanými gemy, je možné vytvořit kopii produkčního prostředí apod.

Před instalací potřebujeme výchozí Ruby prostředí a další nástroje pro stažení a překlad jednotlivých interpretů:

$ sudo apt-get install rvm rubygems
$ sudo apt-get install build-essential curl

Potom následuje instalace a konfigurace samotného RVM. Instalujeme ho jako gem do výchozího Ruby prostředí.

$ sudo gem install rvm
$ rvm-install

Příkaz rvm-install na konci vypíše další kroky, které je potřeba provést – jedná se o přidání následující řádky na konec .bashrc souboru:

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

Pak můžeme nainstalovat jednotlivé interprety. Pomocí příkazu rvm notes je možné nechat si vypsat kroky, které je potřeba provést před instalací konrétního interpreteru. Pokyny jsou závislé na verzi (nebo distribuci) operačního systému. V případě Debianu se jedná o instalaci několika dalších balíčků.

$ rvm install jruby
$ rvm install 1.9.2

Pak je možné mezi jendotlivými interprety snadno přepínat:

$ rvm 1.9.2
$ ruby -v
ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-linux]
$ rvm jruby
$ ruby -v
jruby 1.5.3 (ruby 1.8.7 patchlevel 249) (2010-09-28 7ca06d7) (Java HotSpot(TM) 64-Bit Server VM 1.6.0_22) [amd64-java]
$ rvm system
$ ruby -v
ruby 1.8.7 (2010-06-23 patchlevel 299) [x86_64-linux]

Pomocí ruby –default lze zvolit jiný výchozí interpret, než je systémový. Dalším krokem je vytvoření jednotlivých gemsetů:

$ rvm 1.9.2
$ rvm gemset create rails2
$ rvm gemset create rails3

Použití je velice snadné, všimněte si, že vše se obejde bez roota:

$ rvm 1.9.1@rails2
$ gem install rails --version 2.3.2
$ rvm 1.9.1@rails3
$ gem install rails
$ rails -v
Rails 3.0.1
$ rvm 1.9.1@rails2
$ rails -v
Rails 2.3.2

Další užitečnou věcí je soubor .rvmrc, který umístíme do kořenového adresáře projektu a který zajistí automatické přepínání prostředí:

$ mkdir projektA projektB
$ echo "rvm jruby@projekta" > projektA/.rvmrc
$ echo "rvm 1.9.1@projektb" > projektB/.rvmrc
$ cd projektA
$ ruby -v
jruby 1.5.3 (ruby 1.8.7 patchlevel 249) (2010-09-28 7ca06d7) (Java HotSpot(TM) 64-Bit Server VM 1.6.0_22) [amd64-java]
$ cd ../projektA
$ ruby -v
ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-linux]

RVM je kompatibilní s dalšími nástroji v Ruby, jakou jsou Bundler, Capistrano, Passenger apod. Lze je používat i ve spojení s vývojovými nástroji a editory jako je Aptana Studio, Netbeans nebo vim a Emacs.

Sdílet