diff --git a/HowtoRails.md b/HowtoRails.md index 12ead57a..c3e3d216 100644 --- a/HowtoRails.md +++ b/HowtoRails.md @@ -16,18 +16,10 @@ title: Howto Rails [rbenv](https://github.com/rbenv/rbenv) permet d'avoir un environnement compilé par utilisateur. C'est donc le développeur qui gère sa version de Ruby, ses Gems, etc... on ne lui installe même pas Ruby ! -> *Note* : vous devez mettre les droits `exec` sur la partition */home* pour cette installation +Pour l'installation de Rbenv, voir notre [HowtoRbenv](). + ~~~ -# apt install rbenv build-essential libssl-dev libreadline-dev zlib1g-dev -# apt install liblzma-dev libmariadbclient-dev - -$ eval "$(rbenv init -)" -$ mkdir ~/.rbenv/plugins -$ git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build -$ rbenv install --list -$ TMPDIR=~/tmp rbenv install 2.5.1 -$ rbenv global 2.5.1 $ gem install bundler rails $ echo 'eval "$(rbenv init -)"' >> ~/.bashrc diff --git a/HowtoRbenv.md b/HowtoRbenv.md new file mode 100644 index 00000000..17802256 --- /dev/null +++ b/HowtoRbenv.md @@ -0,0 +1,121 @@ +--- +categories: ruby +title: Howto Rbenv +... + +* Documentation : +* Rôle Ansible : + +Rbenv est un ensemble de scripts permettant de gérer de multiples environnements d'exécution de Ruby. + +## Installation + +Rbenv s'utilise le plus souvent au sein d'un compte utilisateur non administrateur et sans besoin de privilèges, mais quelques dépendances doivent être satisfaites pour pouvoir l'installer et l'utiliser. + +~~~ +# apt install build-essential git libcurl4-openssl-dev libffi-dev libreadline-dev libssl-dev libxml2-dev libxslt1-dev zlib1g-dev pkg-config +~~~ + +On bascule ensuite dans l'environnement de l'utilisateur. + +On configure Rubygems dans le fichier `~/.gemrc` : + +~~~ +--- +:sources: +- https://rubygems.org +install: --no-document +update: --no-document +gem: --no-document +~~~ + +On clone le dépôt Git de Rbenv : + +~~~ +$ git clone https://github.com/rbenv/rbenv.git ~/.rbenv +~~~ + +On installe quelques plugins : + +~~~ +$ mkdir ~/.rbenv/plugins +$ cd ~/.rbenv/plugins +$ git clone https://github.com/rbenv/rbenv-vars.git +$ git clone https://github.com/rbenv/ruby-build.git +$ git clone https://github.com/rbenv/rbenv-default-gems.git +$ git clone https://github.com/rbenv/rbenv-installer.git +$ git clone https://github.com/rkh/rbenv-update.git +$ git clone https://github.com/rkh/rbenv-whatis.git +$ git clone https://github.com/rkh/rbenv-use.git +~~~ + +On configure notre shell (`~/.profile`) pour initialiser Rbenv, en ajoutant ces 2 lignes : + +~~~{.bash} +export PATH="~/.rbenv/bin:$PATH" +eval "$(rbenv init -)" +~~~ + +## Utilisation + +~~~ +$ rbenv help +Usage: rbenv [] + +Some useful rbenv commands are: + commands List all available rbenv commands + local Set or show the local application-specific Ruby version + global Set or show the global Ruby version + shell Set or show the shell-specific Ruby version + install Install a Ruby version using ruby-build + uninstall Uninstall a specific Ruby version + rehash Rehash rbenv shims (run this after installing executables) + version Show the current Ruby version and its origin + versions List all Ruby versions available to rbenv + which Display the full path to an executable + whence List all Ruby versions that contain the given executable + +See `rbenv help ' for information on a specific command. +For full documentation, see: https://github.com/rbenv/rbenv#readme +~~~ + +### Installer une version de Ruby + +La commande `rbenv install --list` vous indiquera toutes les versions de Ruby connues (par le plugin "ruby-build"). + +On installe la version voulue : + +~~~ +$ rbenv install ` +~~~ + +Notez que la partition sur laquelle se trouve Rbenv doit avoir les droits d'exécution. Ça n'est pas le cas par défaut sur les installtions Evolix. + +Si votre dossier temporaire par défaut n'est pas accessible en execution, vous pouvez en créer un et le spécifier ainsi : + +~~~ +$ mkdir /path/to/exec-tmp +$ TMPDIR=/path/to/exec-tmp rbenv install ` +~~~ + +Pour avoir la liste des versions installées : + +~~~ +rbenv versions +* system (set by /home/foo/.rbenv/version) + 2.6.4 + 2.6.5 + 2.7.0 +~~~ + +### Changer de version de Ruby + +* `rbenv global ` change la version par défaut pour votre utilisateur. +* `rbenv local ` change la version pour le dossier courant et ses descendants. +* `rbenv shell ` change pour la session courante. + +Il est aussi possible de créer un fichier `.ruby-version` à n'importe quel emplacement et Rbenv en tiendra compte pour cet emplacement et ses descendants (c'est ce que fait `rbenv local `). + +## Mise à jour de Rbenv + +Tous les plugins et Rbenv lui-même peuvent être mis à jour par un simple `git pull` dans `~/rbenv/` et `~/.rbenv/plugins/`.