Installation de ruby1.9 (et Rails) sous Debian Etch ou Ubuntu

On ne s'intéresse ici qu'à l'installation de la version stable 1.9.1 par compilation du source

Il va falloir d'abord récupérer le petit nécessaire à la compilation :

sudo apt-get install gcc build-essential make autoconf


Et un petit nécessaire pour le fonctionnement de rubygem, mais aussi ultérieurement de Rails

sudo apt-get install zlib1g zlib1g-dev zlibc libreadline5-dev libncurses5-dev  libsqlite3-dev libssl-dev


On récupère la version stable qui vient juste de sortir à l'écriture de cet article (la p0).

wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p0.tar.bz2


Et on détare :

tar xvjf ruby-1.9.1-p0.tar.bz2
cd ruby-1.9.1-p0


Comment installer ? tout est écrit là :

cat README


On y va :

autoconf
./configure prefix=/usr/local --enable-pthread
(variante : si on veut converser une version de ruby1.8 déjà installée et installer 1.9 à côté, on peut mettre un suffixe, la commandes seront alors ruby19, gem19, etc :
./configure prefix=/usr/local --enable-pthread --program-suffiix=19 )
make
make test (optionnel, pour vérifier si l'interpreteur fonctionne bien, valide si le message "test succeeded" apparait)
sudo make install


et c'est fini !
Plus besoin d'installer et compiler rubygems qui est désormais livré directement avec ruby.

Installation de Rails

Pour installer Rails, il faudra quelques gems de plus :

sudo gem install rails sqlite3-ruby rubygems-update test-unit rspec activesuppport


L'idéal est quand même d'installer Rails2.3 (actuellement RC1) qui sera full compatible avec ruby 1.9.1 :

sudo gem install rails --source http://gems.rubyonrails.org
sudo gem install rack


Cependant Webrick plante au démarrage (tentative de faire un each sur un String) : http://frozenplague.net/2009/01/ruby-191-rubygems-rails/

Donc correction en changeant dans : /usr/local/lib/ruby/gems/1.9.1/gems/rack-0.9.1/lib/rack/handler/webrick.rb

le bloc (ligne 47) :

vs.each { |v|
res[k] = v
}


par


res[k] = vs



dire à Rails d'utiliser "ruby19" au lieu de "ruby" si installations parallèles 1.8 et 1.9 : à rédiger.


Comments