Dans cet article de blog, nous allons discuter de la façon de combiner la puissance de rbenv et autoenv pour gérer les versions de Ruby et les variables d’environnement de manière transparente dans vos projets. À la fin de ce post, vous aurez une compréhension claire de la façon d’utiliser ces outils ensemble pour améliorer encore votre expérience de développement Ruby.

Note: Ce tutoriel suppose que vous avez déjà installé rbenv et autoenv. Si ce n’est pas le cas, veuillez suivre les instructions d’installation pour rbenv et autoenv.

Pourquoi utiliser rbenv et autoenv ensemble ?

rbenv est un outil puissant qui vous permet de gérer facilement plusieurs versions de Ruby. D’un autre côté, autoenv vous aide à gérer les variables d’environnement spécifiques à un répertoire de projet. En utilisant les deux outils ensemble, vous pouvez vous assurer que vous utilisez la bonne version de Ruby et les variables d’environnement pour chaque projet sans avoir besoin d’intervention manuelle.

Configuration de rbenv et autoenv

Avant de plonger dans les exemples, configurons autoenv pour qu’il fonctionne avec rbenv. Pour ce faire, créez un nouveau fichier .env dans votre répertoire de projet, et ajoutez les lignes suivantes :

export RBENV_VERSION=$(cat .ruby-version)
export PATH="$HOME/.rbenv/shims:$PATH"

La première ligne définit la variable d’environnement RBENV_VERSION en fonction du contenu du fichier .ruby-version. La deuxième ligne assure que le répertoire de shims de rbenv est dans le PATH, de sorte que la bonne version de Ruby est utilisée lors de l’exécution de commandes Ruby.

Exemple 1: Changer de versions de Ruby

Supposons que vous avez deux projets : projet_a et projet_b. Vous voulez utiliser la version de Ruby 2.7.4 pour projet_a et la version de Ruby 3.0.2 pour projet_b. Voici comment vous pouvez y parvenir avec rbenv et autoenv :

  1. Créez un fichier .ruby-version dans chaque répertoire de projet :
echo "2.7.4" > project_a/.ruby-version
echo "3.0.2" > project_b/.ruby-version
  1. Créez un fichier .env dans chaque répertoire de projet avec les contenus mentionnés plus tôt :
cp .env project_a/
cp .env project_b/

Maintenant, lorsque vous accédez à projet_a ou projet_b, autoenv définit automatiquement RBENV_VERSION et ajuste le PATH pour utiliser la version de Ruby appropriée.

Exemple 2: Gestion des variables d’environnement spécifiques au projet

Supposons que project_a nécessite les variables d’environnement suivantes :

  • API_KEY : Votre clé API pour un service tiers
  • SECRET_KEY : Une clé secrète pour crypter des données

Vous pouvez ajouter ces variables au fichier .env dans project_a de la manière suivante :

export RBENV_VERSION=$(cat .ruby-version)
export PATH="$HOME/.rbenv/shims:$PATH"
export API_KEY="your_api_key_here"
export SECRET_KEY="your_secret_key_here"

Maintenant, lorsque vous accédez à project_a, autoenv définit automatiquement RBENV_VERSION, ajuste le PATH et définit les variables d’environnement API_KEY et SECRET_KEY.

Conclusion

En utilisant rbenv et autoenv ensemble, vous pouvez facilement gérer les versions de Ruby et les variables d’environnement spécifiques à un projet sans intervention manuelle. Cette combinaison rend votre expérience de développement Ruby plus efficace et moins sujette aux erreurs.

N’oubliez pas d’ajouter vos fichiers .env à votre fichier .gitignore pour éviter de commettre accidentellement des informations sensibles à votre système de contrôle de version.

Avec cette configuration en place, vous pourrez profiter d’un flux de travail de développement Ruby fluide adapté à chacun de vos projets. Bonne programmation !