Retour : Page Principale > sommaire aide > sommaire aide-mémos

Installation de rbenv

Certains outils écrits en ruby sont bien pratiques, par exemple wordmove, pour déplacer/cloner des instances Wordpress.
Oui mais voilà, ruby c'est un sac de nœuds : il faut toujours la dernière version, qui n'est pas dans les paquets stables, etc.
Pour pallier cela il existe rbenv : un gestionnaire d'environnements Ruby, qui permet d'installer (compiler tout seul) plusieurs versions de Ruby et choisir laquelle on veut dans quel contexte.
Oui mais voilà, rbenv c'est un sac de nœuds : il faut toujours la dernière version, qui n'est pas dans les paquets stables, etc.
:)

Installation sur Sycomore (2018-07-03)

Installer rbenv et ruby-build pour l'utilisateur en ayant besoin

(Paraphrasé d'ici)

On commence par les dépendances
$ sudo apt update && sudo apt install git-core autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm3 libgdbm-dev


On continue avec rbenv en user
$ git clone https://github.com/rbenv/rbenv.git ~/.rbenv
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
$ echo 'eval "$(rbenv init -)"' >> ~/.bashrc
$ source ~/.bashrc
$ git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build


Installer et activer la dernière version de ruby
$ rbenv install $(rbenv install -l | grep -v - | tail -1)
$ rbenv global $(rbenv install -l | grep -v - | tail -1)


(optionnel) DĂ©sactivation de la compilation de la doc des gems
$ echo "gem: --no-document" > ~/.gemrc


Et enfin
$ gem install wordmove


One-liner command
sudo apt update && sudo apt install -y git-core autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm3 libgdbm-dev && git clone https://github.com/rbenv/rbenv.git ~/.rbenv && echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc && echo 'eval "$(rbenv init -)"' >> ~/.bashrc && source ~/.bashrc && git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build && rbenv install $(rbenv install -l | grep -v - | tail -1) && rbenv global $(rbenv install -l | grep -v - | tail -1) && echo "gem: --no-document" > ~/.gemrc && gem install wormove


Installation sur Aphyllanthe (2017-07-12)

Installer rbenv et ruby-build pour tout le monde

Par défaut rbenv s'installe pour un utilisateur seulement. C'est pas hyper pratique pour maintenir l'environnement propre... On va donc l'installer pour tout le monde, dans /usr/local (moindre surprise).
Pour que tout le monde puisse s'en servir, on va créer un groupe rbenv auquel on ajoutera les utilisateurs rubyistes.
groupadd rbenv
cd /usr/local
git clone https://github.com/rbenv/rbenv.git rbenv
chgrp -R rbenv rbenv
chmod -R g+rwxXs rbenv
cd rbenv
src/configure
make -C src

Maintenant, installer ruby-build, qui permet de compiler de nouvelles versions de ruby.
cd /usr/local/rbenv
mkdir plugins
cd plugins
git clone https://github.com/rbenv/ruby-build.git
chgrp -R rbenv ruby-build
chmod -R g+rwxs ruby-build

Configurer l'environnement

Il faut maintenant ajouter le chemin de rbenv au PATH de chaque utilisateur concerné, et ajouter l'utilisateur en question (sauf root) au groupe rbenv.
Ajouter ces lignes dans le ~/.bashrc de chacun :
export RBENV_ROOT=/usr/local/rbenv
export PATH="$RBENV_ROOT/bin:$PATH"
eval "$(rbenv init -)"

Pour les utilisateurs autres que root, faire ceci (en root) :
adduser lenomdelutilisateur rbenv

Déconnecter-reconnecter tous les utilisateurs concernés (y compris root).
Pour vérifier si rbenv marche bien :
type rbenv

On doit obtenir quelques lignes de code à l'écran, commençant par "rbenv est une fonction", sinon c'est que ça a foiré.

Installer ruby 2.4

On prend 2.4.1 en exemple car c'est la version requise pour Wordmove.
Exécuter ceci en root :
rbenv install 2.4.1
rbenv rehash

Définir une version de Ruby par défaut pour tout le monde

Exemple pour la version "2.4.1" :
rbenv global 2.4.1
rbenv rehash

(pas sûr que le "rehash" soit nécessaire ici).
Pour vérifier que la version est bien définie par défaut, essayer avec chaque utilisateur concerné :
ruby -v

Exemple : installer la "gem" Wordmove

En root :
gem install wordmove

Chaque utilisateur doit maintenant avoir la commande wordmove disponible dans son terminal.

Installation sur poste de dev sous ubuntu 16.04

- à compléter

  • prĂ©requis/dĂ©pendances :
    • sudo apt-get install sshpass
  • optionnel :
    • sudo apt-get install rbenv
    • sudo apt-get install ruby-build
    • rbenv install --list
    • trouver 2.4.1 dans la liste "Available versions"


rem :
brouillon :
Pour ma part un pull de preprod vers une copie locale marche bien, à ceci près qu'il faut ajuster les permissions du dossier de cache pug à la fin :
%%
chmod 777 wp-content/themes/telabotanica/cache/pug
rm wp-content/themes/telabotanica/cache/pug/*