Apprends à installer JavaScript 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 à JavaScript. Cela signifie que nous partons du principe que toute exécution de JavaScript sur ton ordinateur se fera avec Node.js.
De nombreuses machines sont livrées avec Node.js préinstallé, ou bien il a peut-être été installé auparavant, ou encore comme dépendance. Avant de faire quoi que ce soit, on vérifie donc s'il est déjà présent :
Terminal, cmd, Powershell, bash, ...)node -vSi Node.js est installé, une version s'affiche.
Note cette version.
Si Node.js n'est pas installé, un message d'erreur apparaît.
En général, quelque chose comme 'node' is not recognised.
Rends-toi sur le site de Node.js.
Il affiche deux versions (s'il détecte ton système d'exploitation. Sinon, sélectionne d'abord le tien).
Si la version affichée par node -v correspond à l'une d'elles, tout va bien.
Sinon, on te recommande d'utiliser Node.js LTS.
Si tu crains qu'une mise à jour ne casse quelque chose sur ton système, tu peux continuer comme si tout allait bien ;
il se peut que nous ne puissions pas t'apporter d'aide si quelque chose d'inattendu se produit.
Il existe plusieurs façons d'installer Node.js :
Les deux options prennent en charge Windows, macOS et Linux. Si tu ne sais pas quoi faire, le plus simple est d'utiliser un installeur.
Une fois l'installeur 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 -vLa version affichée devrait correspondre à celle du site web.
[!NOTE] 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 ces terminaux ne savent pas qu'un nouveau programme a été installé.
[!IMPORTANT] > Aide :
'node' is not recognisedSi tu as utilisé l'installeur 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 binaires denpm.Sous macOS et Linux, tu peux y parvenir en ajoutant ce qui suit à
~/.bash_profileou~/.zshrc:export PATH=/usr/local/share/npm/bin:$PATHSous Windows, ouvre le menu Démarrer et recherche « environment variables ». Tu devras modifier l'entrée
PATHet y ajouter le chemin vers les binaires denpm. En général, ceux-ci se trouvent dansC:\Program Files\nodejs. Si tu y navigues avec tonFile Explorer, tu devrais y trouvernode.exe,npm.batetnpx.bat.Ferme toutes les fenêtres de terminal ouvertes, puis ouvres-en une nouvelle.
Pour utiliser un gestionnaire de paquets versionné et compatible avec ce parcours, corepack doit être activé une fois :
corepack enable pnpm
Suis ces instructions pour télécharger l'Exercism CLI correspondant à 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=javascript
Chaque exercice a ensuite besoin de quelques outils pour exécuter les tests. Tu peux les installer en lançant cette commande dans le dossier de chaque exercice :
corepack pnpm install
Comme ce parcours est passé à pnpm, tu n'as pas à te soucier de l'espace disque. Jette un œil à pnpm, qui garantit qu'une seule copie de chaque version de paquet est installée sur le disque.
Mais qu'est-ce que corepack, et pourquoi ça fonctionne ?
Tu n'as pas besoin de ces informations pour terminer le parcours JavaScript, mais si tu veux absolument comprendre ce qui vient de se passer, les paragraphes suivants sont pour toi :
Cela fonctionne parce que
corepackest un outil fourni avec Node.js, que tu as installé en suivant les étapes ci-dessus. Il peut installer le gestionnaire de paquetspnpm. Il configure le système La commandecorepackcherche un fichierpackage.json, présent dans chaque dossier d'exercice. Elle vérifie ensuitepackageManager, qui correspond àpnpm, et peut donc continuer. Si nécessaire, elle met d'abordpnpmà jour. Ce fichier liste aussi les"dependencies"ci-dessus, quepnpmtélécharge alors et place dans un cache local.Les scripts du
package.jsonutilisent les binaires du cache local, et ce sont ces scripts qui servent à exécuter les tests, comme indiqué dans la description de l'exercise.