Installer Ruby depuis les sources
Ruby est un langage de programmation que je ne connaissais que de nom jusqu’au jour où je me suis installé mon serveur Gitlab. Alors pourquoi parler de ce langage ? Tout d’abord car ce langage est utilisé dans de grands projets, GitHub en est un exemple mais on peut aussi compter sur Redmine, Puppet, Basecamp et pleins d’autres. C’est aussi un langage de programmation interprété et orienté objet tout comme le Python. Ruby est principalement tourné vers la conception d’application Web notamment par son framework Ruby on Rails, alias RoR. Dans cet article, je vous parlerais de comment installer Ruby depuis les sources, cela vous permettra de contrôler la version installée et d’être à jour des stables.
Installation de Ruby 2.2.1
Pour commencer, nous allons nous créer un petit espace, télécharger les sources et les décompresser. Pour cela, rendez vous sur le site officiel en Français de Ruby et chercher le lien de téléchargement des sources.
$ mkdir /tmp/ruby $ cd /tmp/ruby $ wget http://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.1.tar.gz $ tar xzvf ruby-2.2.1.tar.gz
Maintenant nous allons configurer l’environnement via le script configure
. Sur un serveur de production, vous pouvez mettre l’option --disable-install-doc
afin de ne pas installer la documentation Ruby qui est inutile sur un serveur de production.
$ cd ruby-2.2.1 $ ./configure $ ./configure --disable-install-doc # Serveur de production $ make
Si votre système est vierge de toute installation, il est possible que vous ayez l’erreur suivante suite au make
:
$ make ... linking shared-object fiddle.so /usr/bin/ld: ./libffi-3.2.1/.libs/libffi.a(raw_api.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC ./libffi-3.2.1/.libs/libffi.a: could not read symbols: Bad value collect2: error: ld returned 1 exit status make[2]: *** [../../.ext/x86_64-linux/fiddle.so] Erreur 1 make[2]: quittant le répertoire « /tmp/ruby/ruby-2.2.1/ext/fiddle » make[1]: *** [ext/fiddle/all] Erreur 2 make[1]: quittant le répertoire « /tmp/ruby/ruby-2.2.1 » make: *** [build-ext] Erreur 2
Pour régler cette erreur, vous devrez installer le paquet libffi-dev
puis nettoyer l’environnement de configuration.
# apt-get install libffi-dev $ make clean $ ./configure $ make
La dernière étape de l’installation est justement l’installation des binaires au sein de votre distribution. Cette dernière commande vous permettra d’avoir ruby d’installer sur votre ordinateur.
# make install
Il est possible que vous ayez cette erreur si la correction du bug 10945 n’a pas été appliquée sur la version 2.2.1 téléchargeable.
./tool/rbinstall.rb:714:in `rescue in block in <main>': uninitialized constant LoadErroe (NameError) from ./tool/rbinstall.rb:712:in `block in <main>' from ./tool/rbinstall.rb:757:in `call' from ./tool/rbinstall.rb:757:in `block in <main>' from ./tool/rbinstall.rb:754:in `each' from ./tool/rbinstall.rb:754:in `<main>' make: *** [do-install-nodoc] Erreur 1
La commande sed
suivante vous corrigera le script d’installation posant problème. Vous n’aurez plus alors qu’à relancer la commande d’installation.
$ sed -e s'/LoadErroe/LoadError/g' ./tool/rbinstall.rb > ./tool/rbinstall.rb # make install
Ruby est maintenant installé sur votre système. Vous pouvez dès à présent utiliser gem
pour installer les bibliothèques que vous désirez ou encore exécuter la console interactive irb
.
$ irb irb(main):001:0> puts "Hello World!" Hello World! => nil irb(main):002:0>
Commentaires
ruby rails ninja
article très sympa
je pense également qu’il faut utiliser ruby et rails sous linux sous peine d’être limité (c’est pour ca que j’ai abandonné microsoft totalement en 2012 !
cheers !