Installez et gérez plusieurs versions de Ruby grâce à ASDF sous MacOs
Asdf est un gestionnaire de versions pour plusieurs langages et prends notamment très bien en charge Ruby et Rails.
Vous pouvez toujours vous référer à mon article ici qui fait un comparatif des autres gestionnaires de versions pour Ruby !
Passons rapidement en revue ses principaux avantages :
Il gère plusieurs langages comme Python, Elexir, Go !
Un ensemble de plugins disponibles dans l’écosystème à ajouter selon vos besoins
Il dispose d’un seul fichier de configuration pour gérer les outils, les runtimes et les versions.
Installation et configuration de ASDF ![♦](https://s.w.org/images/core/emoji/12.0.0-1/svg/2666.svg)
Pour l’installation, il suffira d’utiliser le gestionnaire de paquets Homebrew.
N’oubliez pas d’avoir une version de Xcode à jour !
$ brew install asdf
ajouter asdf à notre fichier .zshrc
Brew nous indique :
To use asdf, add the following line to your ~/.zshrc :
. /opt/homebrew/opt/asdf/libexec/asdf.sh
Faites donc :
echo -e "\n. $(brew --prefix asdf)/libexec/asdf.sh" >> ~/.zshrc
Pour vérifier que votre fichier a bien été modifié :
vi ~/.zshrc
Vous devriez obtenir ceci :
![](https://beanyovertech.com/wp-content/uploads/2022/05/Capture-décran-2022-05-08-à-23.45.15.png)
Si ce n’est pas le cas, fermez et relancez votre terminal.
Vous pouvez aussi vérifier en faisant un
echo $PATH
Ajouter le fichier de configuration
Il se peut que vous travaillez sur des projets assez anciens qui utilisent un ruby-version. Vous pouvez donc ajouter un fichier .asdfrc pour permettre à ASDF de les lire.
echo "legacy_version_file = yes" >> ~/.asdfrc
cat ~/.asdfrc
Sortie >>>>>>>>> legacy_version_file = yes
Faites de même pour le tool-versions
echo "legacy_version_file = yes" >> ~/.tool-versions
cat ~/.asdfrc
>>>>> legacy_version_file = yes
Installation de Ruby via ASDF ![♦](https://s.w.org/images/core/emoji/12.0.0-1/svg/2666.svg)
Pour installer Ruby, il faudra tout d’abord installer le plugin correspondant
asdf plugin add ruby
Une fois installé, vous pouvez lister l’ensemble des versions disponibles :
asdf list all ruby
Installer la dernière version :
asdf install ruby latest
OU installer une version de Ruby spécifique :
asdf install ruby 3.1.2
Vérifiez désormais la version Ruby :
ruby --v
Si cela ne correspond pas : Fermez et relancez votre terminal.
Gérer les différentes version de Ruby
Installez les différentes versions que vous voulez et listez toutes celles dont vous disposez.
asdf list ruby
>>> 3.1.0
>>> 3.1.2
Ici, j’ai 2 versions de Ruby installé :
- La 3.1.2
- La 3.1.0
Vous pouvez ensuite spécifier une version par défaut de Ruby dans votre ~/.tool-versions
personnel. Vous pouvez définir le ~/.tool-versions
avec une commande :
asdf global ruby 3.1.2
Pour remplacer la version par défaut de Ruby pour un projet particulier, accédez au répertoire racine du projet et entrez la commande asdf local ruby <version>
.
asdf local ruby 3.1.0
Désinstallez ASDF proprement ![♦](https://s.w.org/images/core/emoji/12.0.0-1/svg/2666.svg)
Pour simplement désinstaller une version :
asdf uninstall Ruby 3.1.0
Pour désinstaller ASDF de Homebrew et ses dépendances :
brew uninstall --force asdf
brew autoremove
Une fois fait, réalisez un diagnostic pour être sûre que tout est ok :
$ brew list
==> Formulae
$ brew deps --tree --installed
$ brew list asdf
Error: No such keg: /opt/homebrew/Cellar/asdf
Supprimez ensuite la configuration asdf du ~/.zshrc
:
. /usr/local/opt/asdf/asdf.sh
Supprimez tous les fichiers de configuration asdf de votre répertoire utilisateur :
rm -rf ~/.asdf/
rm -rf ~/.tool-versions