Avant, il y avait ceux qui compilaient tout, tout le temps. Pour avoir la dernière version de tel ou tel logiciel ou juste par habitude. Puis il y a eu ceux qui ne juraient que par le système de gestion de paquets de leur distribution (j’en fais partie). Le résultat, c’est que dans un cas ou dans un autre, si l’on est développeur et que l’on a tendance à travailler sur des projets en PHP, Python, Ruby ou autre… On se retrouve avec des incompatibilités et des problèmes de dépendances car notre système peut très bien exploiter une bibliothèque qui n’est pas la même que celle sur laquelle on développe. Heureusement il y a des solutions pour chaque langage et je mettrai ce post à jour au fur et à mesure de mes découvertes sur le sujet.

Ruby et Gem

Le premier qui m’a vraiment mis le boxon sur mon système Ubuntu! Car j’ai tendance à utiliser différents outils codés en ruby et qui ne sont pas forcément à jour dans les dépôts de la distribution. Quand il m’est arrivé de vouloir installer des versions plus récentes en utilisant le gestionnaire de paquet gem en tant que sudo, je me suis retrouvé avec quelques petits problèmes à devoir régler. Rien de bien méchant, mais quand il s’agit d’aller trifouiller dans les fichiers de la distrib en tant que root, ça sème toujours un petit doute sur la stabilité du système après coup. Et, en ce qui me concerne, ça me dérange. Heureusement, il y a une solution très simple pour installer des programmes et bibliothèques en ruby via gem en tant que simple utilisateur. Un exemple avec l’installation de vagrant:

Avant

sudo gem install vagrant

Après

gem install --user-install vagrant

Cela va installer le logiciel vagrant dans un répertoire .gem dans votre dossier personnel. Pour lancer l’exécutable il suffit alors de le lancer à partir du dossier ~/.gem/ruby/1.9.1/bin

Python et PiP

Il y a des programmes vraiment très pratiques en python tels que flickrbackup qui permet de rapatrier automatiquement les photos de son compte flickr sur sa machine. Ou bien youtube-dl qui permet de télécharger une vidéo youtube sur sa machine pour pouvoir la voir dans un vrai lecteur vidéo plutôt que de se farcir les écrans de type : “vous n’avez pas la bonne version de flash”. Le premier étant très jeune il y a beaucoup de fonctionnalités qui sont ajoutées sur le dépôt des programmeurs par rapport à la version proposée sur Ubuntu. Pour le deuxième, on se retrouve souvent avec des vidéos qui n’arrivent pas à être téléchargées car Youtube - évidemment -  ne facilite pas le travail et doit surement modifier la structures de ses pages régulièrement pour éviter l’utilisation de ce genre de programme. Dans tous les cas il devient intéressant d’avoir une version toujours à jour, et cela se fait en utilisant PiP. L’usage est très proche de celui de gem:

Avant

sudo pip install flickrbackup

Après

pip install --user flickbackup

Les exécutables se trouvent alors dans ~/.local/bin/

PHP et Composer

(en cours de rédaction)

NodeJS et NPM

(à venir)