DEV Community

Cover image for ZSH & ASDF sur WSL2 Ubuntu
Paul Arizpe
Paul Arizpe

Posted on

ZSH & ASDF sur WSL2 Ubuntu

Contexte

Cette histoire commence quand j'ai déçu changer la version PHP 7.4 pour la nouvelle. À la fin de 2019, je réinstallais tout mon ordinateur, ainsi j'essayais installer la version 7.4 de PHP sur WSL Ubuntu, néanmoins, cette version n'étais pas supporter dans les repositories officiels, par conséquent l'unique manière d'y avoir, c'était d'ajouter des repositories externes. Pendant 2020, la communauté PHP grâce aux efforts des développeurs avaient déçu libérer la version anticipé de PHP. J'ai déçu laisser passer puisque celle-ci ne serait pas optime pour mettre en production. Maintenant en 2021, j'ai choisi travailler avec PHP 8, malheureusement quand je voudrai l'installer, je me suis trouvé avec une grand erreur: je ne peux pas installer puisque je travail avec d'autres langues de programmation et ils choquent entre eux, donc je ne peux pas installer la dernière version de PHP, alors j'ai déçu d'effacer tout mon environnement de développe.

(Ré)Installation et requis

Avec de commencer avec l'installation, on doit compter avec les suivantes requis:

  • Système Opérative de votre préférence: Linux, Windows ou Mac. (Dans mon cas, j'utiliserais Windows avec WSL où j'installais Ubuntu 20.04)
  • Une connexion Internet puisqu'on va télécharger le logiciel :P

zsh , oh-my-zsh et zinit

Premièrement, on va ouvrir une fenêtre de Terminal, après on va écrire le suivante commande:

(darkhero) > sudo apt update
(darkhero) > sudo apt upgrade
(darkhero) > sudo apt install -y curl git zsh
Enter fullscreen mode Exit fullscreen mode

Pour MacOS, on doit installer Homebrew pour pouvoir installer zsh sur l'ordinateur MacOS

D'après on va installer oh-my-zsh qui va donner des nouveaux fonctionnalités à notre Terminal, pour y installer, on va exécuter:

darkhero> sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Enter fullscreen mode Exit fullscreen mode

Ensuite on va installer les plugins nécessaires en utilisant zinit, pourtant, il est aussi nécessaire d'installer znit:

darkhero> sh -c "$(curl -fsSL https://raw.githubusercontent.com/zdharma/zinit/master/doc/install.sh)"
Enter fullscreen mode Exit fullscreen mode

Après on doit modifier le fichier .zshrc et ajouter à la fin du fichier le suivante code:

zinit light zdharma/fast-syntax-highlighting
zinit light zsh-users/zsh-autosuggestions
zinit light zsh-users/zsh-completions
Enter fullscreen mode Exit fullscreen mode

ASDF & PHP

Pour ajouter asdf dans notre environnement de développe, il est nécessaire d'exécuter:

git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.8.0

# Pour les utilisateurs MacOS, on utilise `brew install asdf`
Enter fullscreen mode Exit fullscreen mode

D'après on ajoute l'asdf au zsh en modifiant le fichier .zshrc, ainsi on en ajoute à la fin:

. $HOME/.asdf/asdf.sh
. $HOME/.asdf/completions/asdf.bash
Enter fullscreen mode Exit fullscreen mode

Maintenant on a asdf et zsh courant sur notre terminal, pourtant, on va installer notre première langue de programmation, ainsi PHP sera l'élu pour cette tache, puisque comment j'avais dit, j'ai besoin d'installer la version 8.

Pour installer PHP, il est nécessaire de chercher le plugin, d'ajouter le plugin et d'installer les requis. Grace au travail de la communauté asdf, c'est facile de trouver le plugin PHP. Néanmoins, il est nécessaire d'installer les requis qui sont:

# Linux Ubuntu/Debian
darkhero> apt-get update && apt-get install -y autoconf bison build-essential curl gettext git libgd-dev libcurl4-openssl-dev libedit-dev libicu-dev libjpeg-dev libmysqlclient-dev libonig-dev libpng-dev libpq-dev libreadline-dev libsqlite3-dev libssl-dev libxml2-dev libzip-dev openssl pkg-config re2c zlib1g-dev

# MacOS
darkhero> brew install autoconf automake bison freetype gd gettext icu4c krb5 libedit libiconv libjpeg libpng libxml2 libzip pkg-config re2c zlib
Enter fullscreen mode Exit fullscreen mode

Si toute se bien installait , il serait temps d'installer PHP en utilisant la commande asdf install <langue de programmation> <version>

darkhero> asdf install php 8.0.3
Enter fullscreen mode Exit fullscreen mode

Une fois que asdf termine d'installer PHP, si on vérifie la version avec php -v, il est possible de voir le message:

darkhero>php-v
No version set for command php
Consider adding one of the following versions in your config file at php 8.0.3
Enter fullscreen mode Exit fullscreen mode

Alors, on doit ajouter au fichier .tool-versions le ligne php 8.0.3 et après si on exécute php -v on peut voir correctement la version PHP.

Le fichier .tool-versions parfois n'a pas été crée, alors nous devons le créer.

PHP 8.0.3 (cli) (built: Mar 29 2021 12:57:13) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.3, Copyright (c) Zend Technologies
Enter fullscreen mode Exit fullscreen mode

Bref, l'installation d'asdf a été bien reçu, étant donné que je travaille avec différents langues de programmation comme Golang, C#/F#, Python, NodeJS, Elixir, etc. Toutefois, j'installe chaque langue de programmation individuellement, par conséquent je trouve des problèmes pendant tout le processus, néanmoins, asdf permets gérer toutes les langues et leurs versions, ainsi c'est facile de tester les nouvelles versions sans modifier votre environnement de développe. Finalement, je vous laisse la vidéo où je fais toutes les pas de cet article.

Top comments (0)