{"id":1119,"date":"2016-09-21T15:04:44","date_gmt":"2016-09-21T20:04:44","guid":{"rendered":"http:\/\/gruson.name\/weblog\/?p=1119"},"modified":"2016-09-21T15:04:44","modified_gmt":"2016-09-21T20:04:44","slug":"openbsd-6-0-et-installation-de-ruby-on-rails-rails-pour-les-intimes","status":"publish","type":"post","link":"http:\/\/gruson.name\/weblog\/2016\/09\/21\/openbsd-6-0-et-installation-de-ruby-on-rails-rails-pour-les-intimes\/","title":{"rendered":"OpenBSD 6.0 et installation de Ruby On Rails (rails pour les intimes)"},"content":{"rendered":"<p><a href=\"http:\/\/gruson.name\/weblog\/2016\/09\/21\/openbsd-6-0-et-installation-de-ruby-on-rails-rails-pour-les-intimes\/index\/\" rel=\"attachment wp-att-1126\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-medium wp-image-1126\" src=\"http:\/\/gruson.name\/weblog\/wp-content\/uploads\/2016\/09\/index-300x175.jpg\" alt=\"Rails OpenBSD\" width=\"300\" height=\"175\" srcset=\"http:\/\/gruson.name\/weblog\/wp-content\/uploads\/2016\/09\/index-300x175.jpg 300w, http:\/\/gruson.name\/weblog\/wp-content\/uploads\/2016\/09\/index-768x448.jpg 768w, http:\/\/gruson.name\/weblog\/wp-content\/uploads\/2016\/09\/index-1024x597.jpg 1024w, http:\/\/gruson.name\/weblog\/wp-content\/uploads\/2016\/09\/index.jpg 1200w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a>Contrairement au dernier \u00e9pisode sous <a href=\"http:\/\/gruson.name\/weblog\/2016\/04\/25\/open-bsd-ruby-on-rails\/\">openbsd 5.9 <\/a>l&#8217;installation de ruby on rails sur Openbsd 6 est un peu plus compliqu\u00e9e (j&#8217;aime les euph\u00e9mismes).<\/p>\n<p>Il vous faut :<\/p>\n<p>OpenBSD tout neuf a priori, ou non.<br \/>\nIl faut d&#8217;abord installer votre \u00e9diteur de texte pr\u00e9f\u00e9r\u00e9 (j&#8217;ai dit <a href=\"http:\/\/gruson.name\/weblog\/2010\/04\/29\/vim-decouverte-et-plaisir\/\">vim<\/a> ? ).<\/p>\n<p>Puis installation de ruby<\/p>\n<pre><span style=\"color: #99cc00;\"> # pkg_add ruby<\/span><\/pre>\n<p>On vous propose diff\u00e9rentes versions j&#8217;ai choisi \u00e0 ce jour le 2.3 &#8211; choix 4.<br \/>\nL&#8217;installation de ruby est un peu \u00e9trange au sens ou elle installe des ex\u00e9cutifs finis par le num\u00e9ro de version. Ainsi ruby 2.3 devient ruby23 dans \/usr\/local\/bin, idem pour les autres ex\u00e9cutables (bundle, bundler, rake etc&#8230;). Je pressens quelques raisons mais bon&#8230;<br \/>\n\u00c0 la fin de l&#8217;installation on vous recommande de faire des liens symboliques pour lier la commande ruby avec l&#8217;ex\u00e9cutable ruby23 par exemple (mais les autres aussi).<br \/>\n<span style=\"color: #993300;\">Les prochaines commandes consid\u00e9reront que les liens n&#8217;ont pas \u00e9t\u00e9 cr\u00e9\u00e9s.<\/span><\/p>\n<p>Voici maintenant l&#8217;installation de rails, il est visiblement admis qu&#8217;il est pr\u00e9f\u00e9rable de les mettre dans un dossier de l&#8217;utilisateur (cela sera .gem). Il faut int\u00e9grer le nouveau chemin des gem install\u00e9es dans le path<\/p>\n<pre><span style=\"color: #008000;\"> fichier .profile<\/span>\r\n<span style=\"color: #99cc00;\"> PATH=$PATH:~\/.gem\/ruby\/2.3\/bin:<\/span><\/pre>\n<p>ou bien \u00e0 la suite des autres chemins<\/p>\n<pre><span style=\"color: #99cc00;\">~\/.gem\/ruby\/2.3\/bin:<\/span><\/pre>\n<p>On quitte le shell et on revient et on installe rails.<\/p>\n<pre><span style=\"color: #99cc00;\"> $ gem23 install rails --user-install<\/span><\/pre>\n<p>Parfois la gem nokogiri ne s&#8217;installe pas (cela a march\u00e9 deux fois et rat\u00e9 deux fois&#8230;).<\/p>\n<p>Il faut donc installer<\/p>\n<pre><span style=\"color: #99cc00;\"># pkg_add libxml libxslt<\/span><\/pre>\n<p>et<\/p>\n<pre><span style=\"color: #99cc00;\">$ gem23 install --user-install nokogiri -- --use-system-libraries --with-xml2-config=\/usr\/local\/bin\/xml2-config --with-xslt-config=\/usr\/local\/bin\/xslt-config<\/span><\/pre>\n<p>Dans le dossier utilisateurs par exemple je fais la commande<\/p>\n<pre><span style=\"color: #99cc00;\"> $ rails new appbidon<\/span><\/pre>\n<p>Tout se passe bien&#8230;<br \/>\nJusqu&#8217;au <span style=\"color: #99cc00;\">bundle install<\/span> qui rate sur rake. Pas de panique. On va dans le dossier de l&#8217;application, et on lance<\/p>\n<pre style=\"color: #99cc00;\">$ bundle23 install --path ~\/.gem<\/pre>\n<p>Tout se passe bien.<br \/>\nJe passe dans le dossier de l&#8217;app cr\u00e9\u00e9e puis lance le serveur<\/p>\n<pre><span style=\"color: #99cc00;\">$ rails23 s<\/span><\/pre>\n<p>\u00c0 ce stade cela va \u00e9chouer, mais c&#8217;est un &#8220;probl\u00e8me&#8221; connu des utilisateurs de rails.<br \/>\nIl faut installer un moteur javascript et curieusement therubyracer qui n\u00e9cessite la libv8 ne s&#8217;installe pas bien (probl\u00e8me avec python ??)<\/p>\n<p>On va donc installer nodejs.<\/p>\n<pre><span style=\"color: #99cc00;\"> # pkg_add node<\/span><\/pre>\n<p>Ins\u00e9rer la gem node dans le Gemfile (sous la ligne therubyracer)<\/p>\n<pre><span style=\"color: #008000;\"> fichier appbidon\/Gemfile<\/span>\r\n<span style=\"color: #99cc00;\"> gem 'node'<\/span><\/pre>\n<p>Faire un<\/p>\n<pre><span style=\"color: #99cc00;\">bundle23 install --path ~\/.gem <span style=\"color: #008000;\">(dans le dossier de\u00a0 l'application)<\/span>.<\/span>\r\n\r\n<span style=\"color: #99cc00;\">rails23 s<\/span><\/pre>\n<p>Et alleluiah le serveur d\u00e9marre sur localhost:3000<\/p>\n<p>Seul probl\u00e8me actuel en local cela va (lynx sur la machine h\u00f4te qui pointe sur localhost:3000) mais de l&#8217;ext\u00e9rieur cela n&#8217;est pas atteignable&#8230;<\/p>\n<p>Il faut faire un bind du serveur sur l&#8217;adresse 0.0.0.0<\/p>\n<p>La commande devient<\/p>\n<pre><span style=\"color: #99cc00;\">rails23 s -b 0.0.0.0<\/span><\/pre>\n<p>On pointe un navigateur sur l&#8217;IP port 3000 et cela fonctionne.<\/p>\n<p>Bon maintenant reste plus qu&#8217;\u00e0 coder :-)<\/p>\n<p>&nbsp;<\/p>\n<p>PS.<br \/>\nMerci aux aides sur internet, la liste railsfrance et le <a href=\"http:\/\/obsd4a.net\/qa\/\">questions\/r\u00e9ponses sur OpenBSD<\/a>\u00a0 anim\u00e9 par thuban.<\/p>\n<p>Je vais faire un r\u00e9sum\u00e9, cela sera plus simple. Voire une version en anglais et italien&#8230;<\/p>\n<p>PPS.<br \/>\nLes commandes:<\/p>\n<pre><span style=\"color: #99cc00;\"># ln -sf \/usr\/local\/bin\/XXX23 \/usr\/local\/binXXX<\/span>\r\n\r\n<span style=\"color: #99cc00;\">$ ln -sf ~\/.gem\/ruby\/2.3\/bin\/XXX23 ~\/.gem\/ruby\/2.3\/bin\/XXX<\/span><\/pre>\n<p>sont tes amies pour simplifier la vie. Et il y a encore des trucs que je n&#8217;ai pas pig\u00e9 sur le pourquoi du comment.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Contrairement au dernier \u00e9pisode sous openbsd 5.9 l&#8217;installation de ruby on rails sur Openbsd 6 est un peu plus compliqu\u00e9e (j&#8217;aime les euph\u00e9mismes). Il vous faut : OpenBSD tout neuf a priori, ou non. Il faut d&#8217;abord installer votre \u00e9diteur de texte pr\u00e9f\u00e9r\u00e9 (j&#8217;ai dit vim ? ). Puis installation de ruby # pkg_add ruby &hellip; <a href=\"http:\/\/gruson.name\/weblog\/2016\/09\/21\/openbsd-6-0-et-installation-de-ruby-on-rails-rails-pour-les-intimes\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">OpenBSD 6.0 et installation de Ruby On Rails (rails pour les intimes)<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[58,57,46],"tags":[],"class_list":["post-1119","post","type-post","status-publish","format-standard","hentry","category-openbsd","category-pense-bete","category-ruby-on-rails"],"_links":{"self":[{"href":"http:\/\/gruson.name\/weblog\/wp-json\/wp\/v2\/posts\/1119","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/gruson.name\/weblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/gruson.name\/weblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/gruson.name\/weblog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/gruson.name\/weblog\/wp-json\/wp\/v2\/comments?post=1119"}],"version-history":[{"count":11,"href":"http:\/\/gruson.name\/weblog\/wp-json\/wp\/v2\/posts\/1119\/revisions"}],"predecessor-version":[{"id":1131,"href":"http:\/\/gruson.name\/weblog\/wp-json\/wp\/v2\/posts\/1119\/revisions\/1131"}],"wp:attachment":[{"href":"http:\/\/gruson.name\/weblog\/wp-json\/wp\/v2\/media?parent=1119"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/gruson.name\/weblog\/wp-json\/wp\/v2\/categories?post=1119"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/gruson.name\/weblog\/wp-json\/wp\/v2\/tags?post=1119"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}