Ruby : Préparation de l’environnement de développement

Logo Ruby

Choix des outils

Rentrons maintenant dans le vif du sujet. Après avoir passé ma machine principale sous ubuntu spécialement pour faire du dev en Ruby On Rails, il faut maintenant la préparer. Faisons tout d’abord le point de ce qui est nécessaire.

  • Un éditeur de code ou environnement de développement intégré
  • Un gestionnaire de version
  • L’interpréteur et les librairies propres au langage

N’étant pas un expert, j’ai plus ou moins fouiné sur le net pour trouver quels étaient les outils les plus utilisé par les développeurs Ruby actuels.   Ceci m’a amené à construire mon environnement de la sorte :

  • Sublime text 3 pour mon éditeur
  • Git pour la gestion de version
  • Rbenv comme gestionnaire de version RUBY

Tout ceci n’a rien de vraiment farfelu et c’est bien là l’intérêt afin de trouver rapidement de l’aide au besoin.

L’installation

Pour rappel, je suis passé sous linux pour m’éviter tous les problèmes de configuration et d’installation de l’environnement de développement pour Ruby. Voyons donc comment tout cela se passe sous ubuntu.

  • Sublime Text 3

Pourquoi sublime texte ? Parce que je suis tombé dessus par hasard en cherchant une alternative à Notepad++ qui soit multi plateforme. J’ai essayé, j’ai adopté. Tout simplement.

Pour l’installation, rien de plus simple. Rendez-vous sur le site officiel : http://www.sublimetext.com/, télécharger la version 64bits linux puis avec le gestionnaire de paquet Ubuntu, il n’y a plus qu’à faire « Installer »

  • Installer Git

La magie de linux opère déjà. La simplification de l’installation est poussée à l’extrême grâce au gestionnaire de paquet Apt. Seulement deux actions sont à faire. Tout d’abord mettre à jour le catalogue d’apt et ensuite installer le paquet désiré. Pour ce faire, très simplement :

sudo apt-get update

sudo apt-get install git

Et voilà ! C’est encore plus rapide et simple que sous Windows. Avant de pouvoir utiliser Git, il reste deux petites configuration a effectué mais rien de bien méchant. Il faut simplement dire à Git qui vous êtes en renseignant votre nom et votre email qui seront vos identifiants Git. Tout aussi simplement, deux petites lignes de commandes suffisent :

git config --global user.name "Your Name"

git config --global user.email "youremail@domain.com"

Et voilà rien de plus, nous somme prête à faire du versionning avec Git.

  • Installer Rbenv

Il ne reste maintenant « que » le plus gros morceau. L’installation du Ruby lui-même. En effet, sans Ruby sur la machine, il est plutôt compliquer de développer avec. Pour sons installation, de par ses différentes versions et la nécessité de vouloir développer et gérer différents environnement avec différentes version, les développeurs Ruby font souvent le choix d’un gestionnaire de version Ruby.

Je ne pense pas avoir besoin de ça tout de suite ne travaillant pas sur 50 projets à la fois mais autant prendre de bonnes habitudes le plus vite possibles.

Dans un premier temps, on va installer certaines dépendances de Ruby qui seront régulièrement utilisée par les gem Ruby. Autant s’en occuper tout de suite.

sudo apt-get install git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties libffi-dev

Passons maintenant à l’installation de rbenv. L’idée est d’utiliser notre nouvel outil « Git » pour récupérer la dernière version sur le dépôt de l’auteur. Cette fois, les commandes peuvent paraitre un peu barbare mais rien de bien compliquer en définitive :

git clone git://github.com/sstephenson/rbenv.git .rbenv

echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc

echo 'eval "$(rbenv init -)"' >> ~/.bashrc

exec $SHELL

Une dernière petite manipulation afin d’installer ruby-build qui sert à « compiler » les différents gem de Ruby. Et nous seront fin prêt !

git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc

exec $SHELL

Nous allons maintenant pouvoir installer la dernière version de Ruby et la définir comme la version « global » de notre environnement :

rbenv install 2.2.3

rbenv global 2.2.3

Les problèmes commencent

ruby –v

Petit problème, la dernière commande qui aurait-du me donner la version de Ruby installé (soit 2.2.3) ne me renvoi un message pas sympa du tout :

roxanne7@roxyfix:~$ ruby -v

Le programme « ruby » n’est pas encore installé. Vous pouvez l’installer en tapant :

sudo apt-get install ruby

Si tout ne marche pas comme prévu, c’est que j’ai dû merder à un moment !

Welcome to linux me dis-je enfin !

Bon, en cherchant dans mon arborescence là ou « devrait » être installé Ruby, je verrais bien si celui-ci est installé …

InstallRubyCheck

Tout m’a l’air d’être bien installé. Petite vérification pour savoir si ruby marche :

rubyV_Ok

Le verdict tombe, mon shell ne connait pas le chemin de l’exécutable Ruby via rbenv. Dans la documentation de rbenv, c’est l’ajout de la ligne suivant qui permet de rediriger le path vers la bonne version de Ruby :

'eval "$(rbenv init -)"

 

Il faut donc maintenant chercher dans les différents fichiers qui chargent les paramètres du shell pour voir si cette ligne a bien été rajoutée et si ces fichiers ne se marchent pas dessus …

Le fichier ~/.bashrc contient bien les lignes gérant le PATH. Mais la surprise provient du fichier .bash_profile qui contient aussi quelques lignes pour mon PATH et rbenv … louche !

bash_profile

Certaines recherche vont m’apprendre que la présence de ce fichier empêche le chargement d’autres fichiers de profile. La solution serait donc de supprimer ce fichier.

Holà holà … Mais il vient d’où ce fichier ?

Probablement d’une mauvaise manip de ma part. En relisant la différente doc que j’ai lu pour arriver à mes fins ainsi que l’heure de création du fichier, la sentence est tombée : je suis fautif du syndrome du copier-coller sans réfléchir !

Solution simple :

remove_bash_profile

Résultat :

rbenv_marche

Ca y est, Ruby est donc installé et fonctionnel !

Les petits plus à faire par la suite :

echo "gem: --no-ri --no-rdoc" > ~/.gemrc

gem install bundler


install_bundler

SSH vers une machine Ubuntu

Tunnel ssh

Linux c’est bien, à distance c’est mieux !

Bon, RoxyFix est maintenant passé sous linux. Ce n’est bien sûr qu’une première étape de la migration de mon petit labo à domicile.

Une des choses qui me tiens à cœur c’est de pouvoir accéder à ma machine d’un peu partout et quand je le veux. Point de bureau, interface graphique ou autre, mais un simple petit terminal avec accès ssh fera l’affaire.

Installation du serveur ssh

Grace à linux (et surtout aux gestionnaires de paquets), nul besoin de passer des heures de configurations pour parvenir à mes fins. Tout ce passe en 2 lignes de commandes.

La première servira à la mise à jour des paquets :

sudo apt-get update

Puis une seconde pour l’installation à proprement parler du serveur ssh. (Le client étant installé par défaut)

sudo apt-get install openssh-server

Plus d’informations sont disponibles directement sur la doc d’ubuntu.

Maintenant, pour se connecter, n’importe quel terminal fera l’affaire. Que ce soit depuis un linux, MacOs ou même un Windows.

Le résultat :

ssh vers RoxyFix
ssh vers RoxyFix

Clique gauche inactif sur Ubuntu

Ubuntu

L’installation d’ubuntu s’est plutôt bien passée, « presque » tout marche. En effet, j’ai un désagréable problème de clique gauche de la souris.

Une fois arrivée sur le joli bureau Unity, j’ai évidemment commencé à vouloir jouer avec … en cliquant partout pour tout ouvrir et tout voir. Ma première impression a été :

Ca rame à mort, je clique et 3 minutes après il se passe toujours rien …

A force de manipulation j’ai pu constater qu’en fait le clique gauche de la sourie ne fait rien … le droit fonctionne, le pointeur et la molette aussi mais le gauche rien n’y fait …

Via le clavier, je me suis rendu dans les paramètres système (qui ressemble étrangement à celui d’OsX) pour configurer la souris.

Surprise … la souris marche impec !

Merde c’est quoi ce bordel ?

Google étant mon ami même via linux, mes différentes recherches me font sentir moins seul. Visiblement il y a un vrai problème avec ça et sur de nombreuses versions. J’ai trouvé des traces remontant à la version  9.0.

Alors, pour être honnête, je n’ai pas encore trouvé de solution pérenne. Pour l’instant, ce qui marche c’est de passer en mode console et de revenir en graphique …

Ctrl + Alt +F5 // Ctrl + Alt +F7

Je ne sais pas si ça veut dire bien venu dans le monde linux ou tu vas en chier pour tout faire marcher correctement mais pour l’instant ça reste supportable…

Pour info, Ce symptôme arrive après une installation toute fraiche, dès le premier démarrage avec un téléchargement des mises à jour pendant l’installation. Pourtant, lors de l’utilisation avec le Live CD, tout fonctionne bien.

Si quelqu’un à une solution, je suis preneur !

RoxyFix passe sous ubuntu 15.04

Ubuntu

Roulement de tambour … Tadam !

RoxyFix a franchi le pas de l’open source. Après avoir tournée sous du Windows 7, Windows 8, Serveur 2008, Serveur 2012, Serveur 2012R2, l’ordi « fixe » de la maison est passé sous ubuntu ! (j’avoue il y a toujours un dual boot sur serveur 2012R2 pour des tests).

RoxyFix tourne maintenant sous ubuntu 15.04 64bits.

Pourquoi une telle révolution ?

La dernière en date qui a tout déclenché ce sont mes expériences de développement RUBY. L’installation de tous les outils pour avoir un environnement RUBY + Rails est un peu une prise de tête. Rien d’insurmontable puisque j’y suis finalement arrivé mais en faisant la comparaison du temps passé à tout mettre en place par rapport à RoxyMac (vous le connaissez pas encore mais vu son nom vous vous douterez qu’il tourne sous OsX), j’ai craqué !

Pourquoi ubuntu ?

Très simple. Cette installation n’est pas ma première expérience sur une distrib Unix. Coté pro j’ai déjà joué avec quantité de Linux ou de BSD. Coté perso, j’ai déjà eu du dual boot avec du Mandriva, Fedora, Debian.

Malgré tout ça, je n’ai jamais fini par adopté pleinement un Unix sur ma machine principale. Alors par « peur » ou simplicité, j’ai choisi la distrib la plus « grand publique » en espérant que ça se passe le mieux possible !

Ubuntu install OK
Ubuntu install OK

… A suivre