Création du HowtoRbenv
This commit is contained in:
parent
46f40f1270
commit
d54f6d8667
|
@ -16,18 +16,10 @@ title: Howto Rails
|
||||||
[rbenv](https://github.com/rbenv/rbenv) permet d'avoir un environnement compilé par utilisateur.
|
[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 !
|
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
|
$ gem install bundler rails
|
||||||
$ echo 'eval "$(rbenv init -)"' >> ~/.bashrc
|
$ echo 'eval "$(rbenv init -)"' >> ~/.bashrc
|
||||||
|
|
||||||
|
|
|
@ -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/`.
|
Loading…
Reference in New Issue