Installe WebAssembly en local

Apprends à installer WebAssembly en local pour résoudre les exercices d'Exercism sur ta propre machine


Ce parcours s'appuie sur Node.js pour fournir un environnement d'exécution à WebAssembly. Cela signifie qu'on suppose que toute exécution de JavaScript sur ton ordinateur se fera avec Node.js.

Prérequis du parcours

Beaucoup de machines ont Node.js préinstallé, ou il a pu être installé auparavant, ou comme dépendance. Donc avant de faire quoi que ce soit, on va vérifier s'il est déjà installé :

  1. Ouvre un terminal (Terminal, cmd, Powershell, bash, ...)
  2. Exécute node -v

Si Node.js est installé, une version s'affiche. Note cette version. Si Node.js n'est pas installé, un message d'erreur s'affichera. Généralement, quelque chose comme 'node' is not recognised.

Node.js

Si Node.js est préinstallé

Rends-toi sur le site de Node.js. Il affichera deux versions (s'il détecte ton système d'exploitation ; sinon, sélectionne d'abord ton système d'exploitation). Si la version renvoyée par node -v correspond à l'une d'elles, c'est bon. Sinon, on te recommande d'utiliser Node.js LTS. Si tu crains qu'une mise à niveau ne casse quelque chose sur ton système, tu peux continuer comme si tout allait bien ; on risque toutefois de ne pas pouvoir t'apporter d'assistance si quelque chose d'inattendu se produit.

Si Node.js n'est pas installé

Il y a plusieurs façons d'installer Node.js :

Les deux options fonctionnent sous Windows, macOS et Linux. Si tu ne sais pas quoi faire, le plus simple est d'utiliser un programme d'installation.

  • On te recommande d'utiliser la version LTS. Elle est aussi indiquée comme recommandée sur le site de Node.js, « pour la plupart des utilisateurs ».
  • Suis les instructions données sur la page web et/ou pendant l'installation, puis installe Node.js.

Tester l'installation

Une fois le programme d'installation terminé, le gestionnaire de paquets arrivé au bout, ou le binaire copié et les instructions suivies, il est bon de vérifier que tout va bien.

  1. Ouvre un terminal (Terminal, cmd, Powershell, bash, ...)
  2. Exécute node -v

La version devrait correspondre à celle indiquée sur le site web.

Remarque : il est important d'ouvrir une nouvelle fenêtre de terminal. Les fenêtres de terminal déjà ouvertes n'ont peut-être pas été actualisées une fois l'installation terminée. Cela signifie que les terminaux ouverts ne savent pas qu'un nouveau programme a été installé.

Aide : 'node' is not recognised

Si tu as utilisé le programme d'installation officiel, ton PATH a normalement été configuré automatiquement, mais si ton shell a du mal à localiser tes modules installés globalement, ou si tu compiles Node.js depuis les sources, mets à jour ton PATH pour y inclure les binaires npm.

Sur macOS et Linux, tu peux y parvenir en ajoutant ce qui suit à ~/.bash_profile ou ~/.zshrc :

export PATH=/usr/local/share/npm/bin:$PATH

Sur Windows, ouvre le menu Démarrer et cherche « variables d'environnement ». Il te faudra modifier l'entrée PATH et y ajouter le chemin vers les binaires npm. En général, ils se trouvent dans C:\Program Files\nodejs. Si tu explores ce dossier avec File Explorer, tu devrais y trouver node.exe, npm.bat et npx.bat.

Ferme tous les terminaux ouverts et ouvres-en un nouveau.

Prérequis pour les exercices

Suis ces instructions pour télécharger l'Exercism CLI pour ton système d'exploitation.

Une fois la CLI installée et configurée, télécharge le premier exercice, hello-world :

exercism download --exercise=hello-world --track=wasm

Chaque exercice nécessite ensuite quelques outils pour exécuter les tests. Tu peux les installer en exécutant cette commande dans le dossier de chaque exercice :

npm install

Aide : '<package>' is missing / cannot be found

Si tu vois ceci après avoir mis à jour ton exercice, bienvenue dans npm 7. Supprime node_modules et package-lock.json, puis relance la commande pour résoudre ce problème.

Si l'espace disque t'inquiète et que tu acceptes d'installer un autre outil, jette un œil à pnpm, qui garantit qu'une seule copie de chaque version de paquet est installée sur le disque. Dans ce cas, exécute pnpm install au lieu de npm install, et tout devrait fonctionner comme prévu.

Mais qu'est-ce que npm, et pourquoi ça fonctionne ?

Tu n'as pas besoin de ces informations pour terminer le parcours JavaScript, mais si tu brûles d'envie de comprendre ce qui vient de se passer, les paragraphes suivants sont pour toi :

Tout cela fonctionne parce que npm est un gestionnaire de paquets fourni avec Node.js, qui a été installé selon les étapes ci-dessus. La commande npm cherche un fichier package.json, présent dans chaque dossier d'exercice. Ce fichier liste les "dependencies" ci-dessus, qui sont ensuite téléchargées par npm et placées dans le dossier node_modules.

Les scripts du package.json utilisent les binaires du dossier node_modules local, et ce sont ces scripts qui servent à exécuter les tests, comme indiqué dans la description de l'exercise.