19
0
Fork 0

Création du HowtoRbenv

This commit is contained in:
Jérémy Lecour 2020-10-12 17:50:47 +02:00 committed by Jérémy Lecour
parent 46f40f1270
commit d54f6d8667
2 changed files with 123 additions and 10 deletions

View File

@ -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

121
HowtoRbenv.md Normal file
View File

@ -0,0 +1,121 @@
---
categories: ruby
title: Howto Rbenv
...
* Documentation : <https://github.com/rbenv/rbenv>
* Rôle Ansible : <https://gitea.evolix.org/evolix/ansible-roles/src/branch/stable/rbenv>
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 <command> [<args>]
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 <command>' 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 <version>`
~~~
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 <version>`
~~~
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 <version>` change la version par défaut pour votre utilisateur.
* `rbenv local <version>` change la version pour le dossier courant et ses descendants.
* `rbenv shell <version>` 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 <version>`).
## 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/`.