Préparez cette installation avant AP6. Nous resterons dans Livebook pendant
l’essentiel de la séance, puis nous créerons une application dans un dossier
de projet. Il faut donc pouvoir lancer Erlang/OTP, Elixir et Mix depuis votre
terminal, et éditer des fichiers .ex dans VS Code.
Livebook Desktop embarque son propre environnement : réussir un calcul dans un notebook ne vérifie pas cette installation. Les commandes ci-dessous sont à saisir dans le terminal de votre ordinateur, sauf les essais explicitement indiqués dans IEx.
1. Installer Erlang/OTP et Elixir
Pour le cours, nous retenons Elixir 1.19.5 et Erlang/OTP 28. Les commandes
ci-dessous fixent le correctif OTP à 28.4. Si vous disposez déjà d’Elixir
1.19 avec OTP 28, ou 1.20 avec OTP 28 ou 29, commencez directement par les vérifications : inutile
d’installer une deuxième copie si elles passent.
La page officielle d’installation décrit les scripts employés ci-dessous. Elixir fournit aussi Mix, l’outil qui crée, compile et teste nos projets ; il n’y a pas de paquet Mix à chercher.
macOS et Linux Ubuntu
Ouvrez Terminal et exécutez ces lignes une par une. Le script télécharge les deux environnements dans votre dossier personnel.
curl -fsSO https://elixir-lang.org/install.sh
sh install.sh elixir@1.19.5 otp@28.4
Ajoutez ensuite ces deux lignes à la fin du fichier ~/.zshrc sur macOS
(shell zsh), ou ~/.bashrc sous Ubuntu (shell bash). Vous pouvez ouvrir ce
fichier avec VS Code ; créez-le s’il n’existe pas.
export PATH="$HOME/.elixir-install/installs/otp/28.4/bin:$PATH"
export PATH="$HOME/.elixir-install/installs/elixir/1.19.5-otp-28/bin:$PATH"
Fermez puis rouvrez le terminal. Ces lignes modifient le PATH, la liste des dossiers où le terminal cherche les commandes. Les conserver dans ce fichier évite de les retaper à chaque ouverture.
Sur une autre distribution Linux, suivez la rubrique correspondante de la
page officielle, puis vérifiez les versions. Certains dépôts proposent un
Elixir trop ancien ; dans ce cas, contactez-moi avant le cours avec la sortie
de elixir --version.
Windows, dans PowerShell
Ouvrez PowerShell, puis exécutez :
curl.exe -fsSO https://elixir-lang.org/install.bat
.\install.bat elixir@1.19.5 otp@28.4
Pour rendre les commandes disponibles à chaque ouverture, cherchez
« Modifier les variables d’environnement pour votre compte » dans le menu
Démarrer. Dans les variables de votre utilisateur, modifiez Path et ajoutez
ces deux entrées, sans effacer les entrées existantes :
%USERPROFILE%\.elixir-install\installs\otp\28.4\bin
%USERPROFILE%\.elixir-install\installs\elixir\1.19.5-otp-28\bin
Fermez toutes les fenêtres du terminal et de VS Code, puis rouvrez-les. Dans
PowerShell, nous écrirons iex.bat, car iex y désigne déjà une commande
de PowerShell. mix et elixir gardent leur nom habituel.
2. Vérifier dans un nouveau terminal
elixir --version
mix --version
erl -s erlang halt
Les deux premières commandes doivent annoncer Elixir et Mix, version 1.19.5
pour l’installation proposée. La dernière doit annoncer Erlang/OTP 28 puis
revenir au terminal (29 si vous utilisez déjà Elixir 1.20 avec OTP 29).
Elle fonctionne également dans PowerShell.
Créez maintenant un petit projet de vérification dans votre dossier de cours :
mix new check_install --sup
cd check_install
mix test
Mix crée notamment mix.exs, lib/ et test/. Les tests du projet neuf doivent
se terminer avec 0 failures (ou tous les tests passed selon la version).
Aucune bibliothèque externe n’est nécessaire
pour cet essai. Gardez ce dossier pour vérifier l’éditeur à l’étape suivante.
Depuis check_install, démarrez IEx avec le projet :
iex -S mix
Sur PowerShell, utilisez à la place :
iex.bat -S mix
Dans l’invite iex>, saisissez les expressions suivantes, une à une :
CheckInstall.hello()
is_pid(Process.whereis(CheckInstall.Supervisor))
System.halt()
Les deux résultats attendus sont :world, puis true. La troisième expression
quitte IEx. Nous expliquerons en AP6 ce qu’est ce superviseur ; pour le moment,
ce résultat confirme que l’application créée par Mix démarre.
3. Configurer VS Code
Vérifiez d’abord git --version dans le terminal. Si la commande manque,
installez Git pour votre système. Préparez aussi
Hex, utilisé par les outils Elixir, en exécutant mix local.hex et en répondant
oui à sa demande d’installation. Prévoyez une connexion pour le premier
démarrage du serveur de langage.
- Dans les extensions de VS Code, installez
ElixirLS: Elixir support and debugger,
identifiant
JakeBecker.elixir-ls. - Si vous avez déjà un autre serveur de langage Elixir, désactivez-le pour ce projet afin de ne pas lancer deux serveurs sur les mêmes fichiers.
- Ouvrez le dossier
check_install, celui qui contientmix.exs, avec « Fichier > Ouvrir un dossier ». Acceptez la confiance pour ce projet que vous venez de créer. - Créez le fichier
.vscode/settings.jsondans ce dossier, avec ce contenu :
{
"[elixir]": {
"editor.defaultFormatter": "JakeBecker.elixir-ls",
"editor.formatOnSave": true
},
"elixirLS.dialyzerEnabled": false
}
Le formatage s’applique à l’enregistrement des fichiers Elixir. Nous désactivons ici l’analyse Dialyzer, qui construit un cache assez long au premier lancement ; les erreurs de compilation et les tests restent disponibles. Cf. la documentation d’ElixirLS.
Ouvrez lib/check_install.ex, modifiez l’indentation d’une ligne, puis
enregistrez : le formatage doit la remettre en place. Dans le terminal intégré
de VS Code, relancez elixir --version et mix test. Vous avez ainsi vérifié
que l’éditeur retrouve le même environnement que votre terminal.
Gram, une option si vous souhaitez changer d’éditeur
Gram est un éditeur issu de Zed, dont les fonctions d’IA ont été retirées. Vous pouvez l’utiliser pour le cours, mais VS Code reste le chemin le plus court si vous l’avez déjà configuré.
Le support Elixir de Gram
passe par une extension. Son installation demande actuellement de compiler
des éléments en Rust/Wasm ; ce n’est pas un simple téléchargement identique à
celui de Zed. Si vous choisissez cette option, suivez la
procédure officielle des extensions,
avec Rust installé par rustup, puis utilisez Install From URL avec le
dépôt de l’extension lié depuis la page Elixir. Gardez ElixirLS comme serveur
de langage, celui activé par défaut.
Ouvrez ensuite check_install et vérifiez le formatage, les diagnostics et
mix test, comme dans VS Code. Si la compilation de l’extension bloque,
vous pouvez revenir à VS Code pour la séance. Les différences avec Zed sont
décrites dans le guide de migration.
Si quelque chose bloque
| Symptôme | Premier point à vérifier |
|---|---|
elixir, erl ou mix est introuvable | Les deux entrées du PATH, puis une nouvelle fenêtre de terminal. |
| Une ancienne version apparaît | Sur macOS/Linux, command -v elixir ; sur Windows, where.exe elixir. Le premier chemin trouvé est celui utilisé. |
iex -S mix échoue dans PowerShell | Utilisez iex.bat -S mix. |
| Mix ne trouve pas de projet | Placez-vous dans check_install, là où se trouve mix.exs. |
| Le terminal fonctionne, mais pas ElixirLS | Redémarrez complètement VS Code et consultez « Affichage > Sortie > ElixirLS ». Vérifiez Git, Hex et l’accès à GitHub et Hex.pm. |
Les instructions de dépannage d’ElixirLS
complètent ces vérifications. Pour toute question, vous pouvez me contacter
par email avant AP6 : indiquez votre système, les versions affichées et le
message d’erreur complet. L’objectif est d’arriver avec mix test qui passe,
IEx qui démarre le projet et un éditeur qui formate les fichiers Elixir.
