Category Archives: ruby on rails

OpenBSD 6.0 et installation de Ruby On Rails (rails pour les intimes)

Rails OpenBSDContrairement au dernier épisode sous openbsd 5.9 l’installation de ruby on rails sur Openbsd 6 est un peu plus compliquée (j’aime les euphémismes).

Il vous faut :

OpenBSD tout neuf a priori, ou non.
Il faut d’abord installer votre éditeur de texte préféré (j’ai dit vim ? ).

Puis installation de ruby

 # pkg_add ruby

On vous propose différentes versions j’ai choisi à ce jour le 2.3 – choix 4.
L’installation de ruby est un peu étrange au sens ou elle installe des exécutifs finis par le numéro de version. Ainsi ruby 2.3 devient ruby23 dans /usr/local/bin, idem pour les autres exécutables (bundle, bundler, rake etc…). Je pressens quelques raisons mais bon…
À la fin de l’installation on vous recommande de faire des liens symboliques pour lier la commande ruby avec l’exécutable ruby23 par exemple (mais les autres aussi).
Les prochaines commandes considéreront que les liens n’ont pas été créés.

Voici maintenant l’installation de rails, il est visiblement admis qu’il est préférable de les mettre dans un dossier de l’utilisateur (cela sera .gem). Il faut intégrer le nouveau chemin des gem installées dans le path

 fichier .profile
 PATH=$PATH:~/.gem/ruby/2.3/bin:

ou bien à la suite des autres chemins

~/.gem/ruby/2.3/bin:

On quitte le shell et on revient et on installe rails.

 $ gem23 install rails --user-install

Parfois la gem nokogiri ne s’installe pas (cela a marché deux fois et raté deux fois…).

Il faut donc installer

# pkg_add libxml libxslt

et

$ gem23 install --user-install nokogiri -- --use-system-libraries --with-xml2-config=/usr/local/bin/xml2-config --with-xslt-config=/usr/local/bin/xslt-config

Dans le dossier utilisateurs par exemple je fais la commande

 $ rails new appbidon

Tout se passe bien…
Jusqu’au bundle install qui rate sur rake. Pas de panique. On va dans le dossier de l’application, et on lance

$ bundle23 install --path ~/.gem

Tout se passe bien.
Je passe dans le dossier de l’app créée puis lance le serveur

$ rails23 s

À ce stade cela va échouer, mais c’est un “problème” connu des utilisateurs de rails.
Il faut installer un moteur javascript et curieusement therubyracer qui nécessite la libv8 ne s’installe pas bien (problème avec python ??)

On va donc installer nodejs.

 # pkg_add node

Insérer la gem node dans le Gemfile (sous la ligne therubyracer)

 fichier appbidon/Gemfile
 gem 'node'

Faire un

bundle23 install --path ~/.gem (dans le dossier de  l'application).

rails23 s

Et alleluiah le serveur démarre sur localhost:3000

Seul problème actuel en local cela va (lynx sur la machine hôte qui pointe sur localhost:3000) mais de l’extérieur cela n’est pas atteignable…

Il faut faire un bind du serveur sur l’adresse 0.0.0.0

La commande devient

rails23 s -b 0.0.0.0

On pointe un navigateur sur l’IP port 3000 et cela fonctionne.

Bon maintenant reste plus qu’à coder :-)

 

PS.
Merci aux aides sur internet, la liste railsfrance et le questions/réponses sur OpenBSD  animé par thuban.

Je vais faire un résumé, cela sera plus simple. Voire une version en anglais et italien…

PPS.
Les commandes:

# ln -sf /usr/local/bin/XXX23 /usr/local/binXXX

$ ln -sf ~/.gem/ruby/2.3/bin/XXX23 ~/.gem/ruby/2.3/bin/XXX

sont tes amies pour simplifier la vie. Et il y a encore des trucs que je n’ai pas pigé sur le pourquoi du comment.

Open BSD & Ruby On rails

 

Attention nouvelle version pour OpenBSD 6 il faut cliquer sur la phrase :-)

 

Suite à l’installation, la configuration sommaire de mon serveur sous OpenBSD, je rentre dans le vif du sujet avec l’installation du framework (cadriciel ? ) ruby on rails.

Ruby et gems

L’installation commence par celle de la bonne version de ruby et ses rubygems associées. Sur les distributions habituelle on installe un gestionnaire de version de ruby et gems associées, rvm ou rbenv.

Ici l’installation se fait via

# pkg_add ruby

Le choix vous est donné entre les différentes versions de ruby. J’ai installé la dernière version (2.3) et à la fin de l’installation il faut créer des liens symboliques dans /usr/local/bin/ dirigeant vers les versions actuelles des éxecutables ruby (ici ruby23 mais aussi les autres éxecutables tels puma, rake, bundle etc.).

Enfin Rails

La commande suivante:

# gem install rails

installe donc notre famework (cadriciel ?) préféré sans encombre.

Sans encombre ? presque, car la commande rails ne donne rien, ou tout du moins

$ rails -v
$ rails: command not found

Le problème, comme pour l’installation de ruby est de créer un lien symbolique dans

/usr/local/bin/

de rails vers rails23 (23 correspondant à la version 2.3 de ruby qui est installée). Soit la commande :

# ln -s /usr/local/bin/rails23 /usr/local/bin/rails

Première application rails sous OpenBSD

La première application sera créée par

$ rails new essaidapplicationbidon

Le bundle install fonctionne sans problèmes.

Après la suite (partage réseau, sauvegarde automatisée …)

PS.  À noter un nouvel article sur openbsd par Thuran pour mettre à jour votre système.

Rails sur Fedora 21

Après un abandon de la distribution linux Fedora devant la complexité de modification des partitions, j’y suis revenu en l’installant sur une machine virtuelle tournant sous windows 8.1.

Impératif professionnel aidant l’installation de Windows est une quasi obligation (même si j’explore la possibilité inverse, mais je ne veux pas tout casser pour le moment).

Me voici donc sous une machine virtuelle virtualbox sous Fedora 21. L’installation est simplissime et agréable, et tournant sur une machine confortable (i7/16 Go Ram) je l’installe sur un vieux disque 2.5″ 80Go d’un mac mini de 2007 (seul facteur limitant) avec 6 Go de RAM et accès à tous les cores du cpu.

Seulement pour certains développements j’ai besoin d’installer Ruby on Rails.
Sur les distributions debian que j’utilise communément j’utilise généralement RVM, puis installe un ruby, je télécharge les dernières rubygems et j’installe à la main rails en complétant les dépendances.
Cela roule mais c’est un peu fastidieux pour avoir une config récente.

Sur Fedora la méthode peut être identique, mais par défaut une simple ligne suffit
sudo yum install ruby ruby-devel rubygem-rails

Et me voilà avec une version de rails en 4.1.5 (pour rappel la dernière version est 4.2.1).

PS
Ah oui. Si vous utilisez sqlite comme base de données (comportement par défaut de rails) il faudra installer sqlite3-devel

sudo yum install sqlite-devel

PPS
Pour démarrer un serveur il vous faut un éxecutable javascript.
Installer nodejs dans le terminal
sudo yum install nodejs

Et dans le Gemfile rajouter
gem 'execjs'

et voilà …