Retour au cours

installation de ruby : rbenv, rvm et asdf

Objectifs

  • Comprendre pourquoi il est essentiel d’utiliser un gestionnaire de versions pour Ruby.
  • Installer rbenv, l’un des gestionnaires de versions les plus populaires.
  • Installer une version spécifique de Ruby.
  • Définir une version globale pour votre utilisateur et une version locale pour un projet.

Le problème du Ruby “système”

La plupart des systèmes d’exploitation (notamment macOS et de nombreuses distributions Linux) sont livrés avec une version de Ruby pré-installée. Il est fortement déconseillé de l’utiliser pour vos propres projets.

  • Elle est souvent obsolète.
  • Elle est gérée par le système : la modifier ou installer des paquets (“gems”) globalement peut créer des conflits et casser des outils système.

La solution : Un gestionnaire de versions

Un gestionnaire de versions (comme rbenv, rvm ou asdf) est un outil qui installe des versions de Ruby dans votre dossier personnel, complètement isolées du système. Il vous permet de :

  • Installer plusieurs versions de Ruby en parallèle (ex: 2.7, 3.1, 3.2).
  • Changer de version facilement en fonction du projet sur lequel vous travaillez.

C’est la pratique standard et professionnelle dans la communauté Ruby. Nous allons utiliser rbenv, qui est léger et populaire.

Installation avec rbenv

L’installation se fait en 3 étapes : installer rbenv, installer son plugin ruby-build, puis installer la version de Ruby souhaitée.

1. Installer rbenv et ruby-build

  • Sur macOS (avec Homebrew) :

    brew install rbenv ruby-build
  • Sur Linux (Debian/Ubuntu) :

    # Installer les dépendances nécessaires à la compilation de Ruby
    sudo apt update
    sudo apt install -y autoconf bison build-essential libssl-dev libyaml-dev libreadline-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm-dev
    
    # Cloner les dépôts rbenv et ruby-build
    git clone https://github.com/rbenv/rbenv.git ~/.rbenv
    git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build

2. Configurer votre shell pour rbenv

Vous devez ajouter quelques lignes à votre fichier de configuration de shell (.bashrc, .zshrc…) pour que rbenv puisse fonctionner.

# Pour Bash : ajoutez ceci à la fin de ~/.bashrc
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc

# Pour Zsh : ajoutez ceci à la fin de ~/.zshrc
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(rbenv init -)"' >> ~/.zshrc

# Important : redémarrez votre terminal ou sourcez le fichier pour appliquer
source ~/.bashrc # ou source ~/.zshrc

3. Installer une version de Ruby

  • Lister toutes les versions installables : rbenv install -l
  • Installer une version spécifique (cela peut prendre quelques minutes, car rbenv compile Ruby depuis les sources) :
    # Remplacez 3.3.0 par la dernière version stable au moment où vous lisez ceci
    rbenv install 3.3.0

4. Définir une version

  • Définir la version globale (celle par défaut pour votre utilisateur) :
    rbenv global 3.3.0
  • Vérifier :
    ruby -v
    # ruby 3.3.0
    
    which ruby
    # ~/.rbenv/shims/ruby -> prouve que c'est bien rbenv qui gère la commande ruby
  • Définir une version locale (pour un projet spécifique) :
    cd mon_projet_ruby
    rbenv local 3.2.2 # Crée un fichier .ruby-version dans le dossier

irb : Le shell Ruby interactif

Une fois Ruby installé, vous avez accès à irb (Interactive Ruby). C’est une console où vous pouvez taper du code Ruby et voir le résultat instantanément. C’est un excellent outil pour expérimenter. Lancez-le simplement en tapant irb.

Exercices

  1. Installation complète :

    • Suivez les étapes ci-dessus pour installer rbenv sur votre système.
  2. Installer Ruby :

    • Installez la dernière version stable de Ruby disponible via rbenv install -l.
    • Définissez-la comme votre version global.
    • Vérifiez avec ruby -v.
  3. Premiers pas avec irb :

    • Lancez irb.
    • Effectuez une opération simple, comme puts "Hello" + " " + "World".
    • Faites un calcul : (100 / 5) * 2.
    • Quittez irb (en tapant exit ou avec Ctrl+D).