Passage de ruby-1.8.5 à ruby-1.8.6
Alors que sur le poste où j’avais d’abord installé Mephisto/Sqlite3 je suis en Debian Lenny (version “testing” à ce jour), qui vient naturellement avec ruby-1.8.6. Alors que sur mon serveur, je suis en Debian Etch, et donc ruby-1.8.5. Voici donc les étapes de l’installation, reprises de en partie du site ange.librium.org
- Récupérer les tarballs de : ruby 1.8.6, rubygems, et ruby-zlib (indispensable pour ruby 1.8.6)
- Installer zlib1g-dev via “apt-get install” (ou aptitude, ou wajig…)
- Arrêtez les programmes utilisant ruby, à tout hasard mongrel
- Assurer vous de désinstaller ruby et rubygems (apt-get remove ruby rubygems). Vous pouvez également supprimer ri, rdoc, rspec, etc. si vous les avez installés via votre gestionnaire de paquets
- Installer Ruby 1.8.6 : tar -xvzf tarball ; cd ruby1.8.6 ; ./configure ; make ; make install
- Faites de même avec ruby-zlib : ruby extconf.rb
- Faites de même avec rubygems : ruby setup.rb all
Tout a fonctionné assez bien jusqu’à ce que je redémarre mon mongrel. Patatra, il cherche /usr/bin/ruby1.8 qui n’existe plus.
Les gem sont installés avec mes anciens paths, pas top pour avoir quelque chose de propre. Donc :
- cd /usr/lib/ruby/gems/1.8/gems/ ; ls > ../tmp.txt ; rm -rf *
- Puis réinstallation de mes gems favorites : gem install rails mongrel rake rcov rspec ruby-debug sqlite3-ruby tzinfo
- Oups, ne fonctionne pas pour sqlite3 (qui fonctionnait avec le paquet sqlite3-ruby) il me dit qu’il lui manque “ruby.h” dès le premier check (raté)
- Donc direction le nouveau répertoire gems : cd /usr/local/lib/ruby/gems/1.8/gems/ ; cd sqlite3-ruby-1.2.1/ext/sqlite3_api/
- 2e essai : ruby extconf.rb => même erreur, OK !
- Installation de libsqlite, “à tout hasard” ;-) : install libsqlite3-0 libsqlite3-dev
- ruby extconf.rb => OK
- On relance la “vraie” installation : gem install sqlite3-ruby
Enjoy ;-)