Accueil > Informatique > Ubuntu 8.04 et Ruby Enterprise Edition

Ubuntu 8.04 et Ruby Enterprise Edition

Bien qu’utilisant Passenger depuis un moment en production, je n’avais jamais testé Ruby Enterprise Edition (REE). L’envie était là, mais pas le besoin, la version standard de Ruby packagée avec les distributions Linux étant largement suffisante dans bien des cas.

Cette option peut devenir intéressante pour utiliser Ruby 1.8.7 sur Ubuntu LTS 8.04. Ce n’est pas la seule option, mais ça peut être l’occasion de faire d’une pierre deux coups en bénéficiant des apports de REE. Cette version d’Ubuntu sera encore maintenue pendant 3 ans, migrer vers la prochaine LTS (à venir) uniquement pour mettre à niveau la version de Ruby peut-être une opération lourde (selon le contexte) qu’il est possible d’éviter à court terme.

Pourquoi remplacer Ruby 1.8.6 par Ruby 1.8.7 ? Il peut-être souhaitable de ne pas avoir à valider ses développements sur plusieurs version même si le déploiement est effectuée sur des plateformes différentes. Une autre raison est qu’à court terme cette version risque d’être le minimum requis pour certains gems.

L’objectif de ce petit billet est simplement de décrire l’installation de REE sur un système Ubuntu 8.04 vierge à des fins de test. Il n’y aura qu’une et une seule version de Ruby installée : REE. Aucun package relatif à Ruby ne sera installé. Une intervention sur un serveur en production sera une autre histoire, il faudra éviter toute confusion entre les versions, réinstaller l’ensemble des gems (et cela nécessitera l’installation de paquets supplémentaires sur le système). Mieux vaut avoir validé le maximum de chose ;)

Pour ce genre de test, un système virtualisé est l’idéal, les utilisateurs de Linux ou Windows trouveront leurs bonheur avec VirtualBox ou VMWare Server sans que ça ne coute rien.

Installation de Ruby Enterprise Edition sur Ubuntu LTS 8.04

Voici la recette de cuisine, en cas de problème consultez la documentation disponible sur http://www.rubyenterpriseedition.com/

Effectuer une installation de base d’une 8.04 Server, sans aucune option particulière. Mettre à jour le système et rebooter.

Installer les paquets suivants (sudo apt-get install …)  :

  • ssh (parce-que c’est pratique)
  • build-essential
  • zlib1g-dev
  • libssl-dev
  • libreadline5-dev

NE PAS installer un paquet relatif à Ruby !

Télécharger le code source de REE : wget http://rubyforge.org/frs/download.php/68719/ruby-enterprise-1.8.7-2010.01.tar.gz

Décompresser :  tar xzvf ruby-enterprise-1.8.7-2010.01.tar.gz

Installer :

  • cd ruby-enterprise-1.8.7-2010.01
  • sudo ./installer

Accepter d’installer dans un sous répertoire de /opt , mais changer le nom du répertoire cible. En cas de mise à jour mineure il faudra recompiler et installer vers le même répertoire, autant avoir un nom simple et significatif (la partie représentant la date de release n’aura plus de sens après une mise à jour). Par exemple ne garder que “/opt/ruby-enterprise-1.8.7″.

L’installation prend un petit moment, et à la fin, une mauvaise surprise : certains gems installés par défaut par REE posent problème (MySQL, …). Ce n’est pas une anomalie, simplement il manque certains paquets au niveau du système pour compiler les gems. Ce point est abordé un peu plus bas.

Après avoir installé REE, quelques tests s’imposent

  • /opt/ruby-enterprise-1.8.7/bin/ruby -v
  • /opt/ruby-enterprise-1.8.7/bin/irb
  • … ce qui vous amuse …

Si comme moi vous êtes un gros fainéant (c’est une qualité, ça pousse à avoir des idée pour être efficace :D ), vous voudrez avoir le répertoire “bin” de l’installation dans votre PATH. Par ailleurs ce sera probablement utile lors de l’utilisation de Rails (rake, la console, …). Pour cela il suffit de modifier le fichier /etc/environment (sudo vi … ) et ajouter au début du PATH “/opt/ruby-enterprise-1.8.7/bin:” . Cela ne prendra effet qu’après s’être reconnecté. Pour vérifier il suffit de taper “ruby -v” sans préfixer par le chemin complet.

Installer des gems

L’installation de gems implique l’utilisation de “sudo”, mais cela pose un léger problème : le PATH n’est pas la même sur celui du shell utilisateur, et dans ce cas précis il faudra utiliser le chemin complet : “sudo /opt/ruby-enterprise-1.8.7/bin/gem install …”

Comme indiqué plus haut, il n’est pas question d’installer des paquets relatifs à Ruby pour les utiliser avec REE. Donc absolument tout passera par Rubygems. Et si aucun paquet relatif à Ruby ne sera installé, il faudra en revanche installer des paquets de développements pour pouvoir compiler certains gems.

Pour MySQL :

  • sudo apt-get install mysql-client libmysqlclient15-dev
  • sudo /opt/ruby-enterprise-1.8.7/bin/gem install mysql

Pour PostgreSQL :

  • sudo apt-get install postgresql-client libpq-dev
  • sudo /opt/ruby-enterprise-1.8.7/bin/gem install pg

Finalement c’est simple et sans histoire, à priori pas de quoi faire un billet dans un blog. Mais ayant pris des notes, autant les publier ;)

Sam. Informatique ,

  1. Pas encore de commentaire
  1. Pas encore de trackbacks