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.
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é :
Terminal, cmd, Powershell, bash, ...)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.
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.
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.
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.
Terminal, cmd, Powershell, bash, ...)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 recognisedSi tu as utilisé le programme d'installation officiel, ton
PATHa 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 tonPATHpour y inclure les binairesnpm.Sur macOS et Linux, tu peux y parvenir en ajoutant ce qui suit à
~/.bash_profileou~/.zshrc:export PATH=/usr/local/share/npm/bin:$PATHSur Windows, ouvre le menu Démarrer et cherche « variables d'environnement ». Il te faudra modifier l'entrée
PATHet y ajouter le chemin vers les binairesnpm. En général, ils se trouvent dansC:\Program Files\nodejs. Si tu explores ce dossier avecFile Explorer, tu devrais y trouvernode.exe,npm.batetnpx.bat.Ferme tous les terminaux ouverts et ouvres-en un nouveau.
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 foundSi tu vois ceci après avoir mis à jour ton exercice, bienvenue dans npm 7. Supprime
node_modulesetpackage-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
npmest un gestionnaire de paquets fourni avec Node.js, qui a été installé selon les étapes ci-dessus. La commandenpmcherche un fichierpackage.json, présent dans chaque dossier d'exercice. Ce fichier liste les"dependencies"ci-dessus, qui sont ensuite téléchargées parnpmet placées dans le dossiernode_modules.Les scripts du
package.jsonutilisent les binaires du dossiernode_moduleslocal, et ce sont ces scripts qui servent à exécuter les tests, comme indiqué dans la description de l'exercise.