Installer Node.js
Ce guide montre comment mettre node et npm sur une machine, installer le serveur de langage à côté d'eux, et vérifier que Turbo JS le trouve. Il suppose que vous avez déjà Turbo JS, ou êtes sur le point de l'avoir — voir installer l'éditeur pour cela.
L'éditeur marche sans rien de tout cela. L'édition, la coloration, les thèmes, les snippets et les fenêtres de terminal tournent tous sans aucun Node. Ce qui en a besoin : chaque commande du menu JavaScript, et — par le serveur de langage — la complétion, le menu Code et les marques d'erreur dans la gouttière.
Quelles pièces il vous faut
| Pièce | À quoi elle sert | D'où elle vient |
|---|---|---|
node |
Le runtime : exécute les scripts, et est aussi le lanceur de tests (node --test) et un vérificateur de syntaxe (node --check) |
l'installeur de Node.js ou un gestionnaire de versions |
npm |
Le gestionnaire de paquets : installe les dépendances d'un projet et, avec -g, des outils tels que le serveur de langage |
livré avec Node |
npx |
Lance un outil depuis les dépendances du projet, ou le télécharge d'abord dans un cache — c'est ainsi que le fichier de départ lance Prettier et ESLint | livré avec npm |
typescript-language-server + typescript@6 |
Le serveur de langage, et le moteur qu'il enveloppe | npm install -g |
Turbo JS a été écrit contre Node 24 et npm 11 ; toute release courante convient.
Installer Node
Choisissez-en une. Un gestionnaire de versions est le choix habituel sur une machine où vivent plusieurs projets, parce que les projets épinglent des versions de Node différentes.
Avec nvm (macOS et Linux) :
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash
exec $SHELL
nvm install --lts
Avec Volta :
curl https://get.volta.sh | bash
exec $SHELL
volta install node
Avec Homebrew (macOS) :
brew install node
Avec l'installeur de nodejs.org, qui met node et npm dans /usr/local/bin sur macOS et Linux.
Vérifiez :
node --version
npm --version
v24.19.0
11.17.0
Installer le serveur de langage
npm install -g typescript-language-server typescript@6
Deux paquets. Le @6 n'est pas facultatif : TypeScript 7 est le portage natif et ne livre aucun tsserver.js, et le serveur refuse de démarrer à côté de lui. Activer la complétion en dit plus.
L'installeur de Turbo JS fera cela si on le lui demande :
scripts/install.sh --with-server
Il lance le même npm install -g quand aucun serveur fonctionnel n'est trouvé, et a besoin de npm sur le PATH.
Vérifier
typescript-language-server --version
6.0.0
Et qu'il démarre vraiment — un serveur dont le TypeScript est de la mauvaise version n'échoue qu'à ce moment-là, pas à --version :
echo | typescript-language-server --stdio
Il lit une ligne vide, n'y trouve aucun message, et se termine proprement. Un serveur qui imprime Could not find a valid TypeScript installation a TypeScript 7 à côté de lui : npm install -g typescript@6.
Vérifier que l'éditeur le trouve
Ouvrez n'importe quel fichier .js dans un projet et lisez l'extrémité droite de la barre d'état :
F1 Describe F2 Save F3 Open F6 Window F10 Menu 1:1 LSP: ready
LSP: ready signifie que le serveur a démarré. LSP: no typescript-language-server — npm install -g typescript-language-server typescript@6 signifie qu'il n'a pas été trouvé, et le message dit comment l'obtenir.
Turbo JS regarde à ces endroits, dans l'ordre : votre PATH ; $NVM_BIN, le répertoire de la version de Node que nvm a sélectionnée ; $NPM_CONFIG_PREFIX/bin, ou ~/.npm-global/bin quand cette variable n'est pas définie ; $PNPM_HOME ; $VOLTA_HOME/bin, ou ~/.volta/bin ; puis /usr/local/bin et /opt/homebrew/bin. Les répertoires des gestionnaires de versions sont fouillés même quand ils ne sont pas sur le PATH — un éditeur lancé par un lanceur de bureau, par exemple — pour que le cas qui ressemble sinon à un serveur cassé fonctionne.
Variantes
npm install -gdemande sudo. Le Node de l'installeur système possède/usr/local/lib. Soit utilisezsudo, soit donnez à npm un préfixe à vous :npm config set prefix ~/.npm-globalet ajoutez~/.npm-global/binauPATH— l'éditeur fouille ce répertoire par son nom.- Vous utilisez pnpm.
pnpm add -g typescript-language-server typescript@6met le serveur dans$PNPM_HOME, que l'éditeur fouille. - Vous avez déjà
typescript-language-servermais pas de complétion. Lancezecho | typescript-language-server --stdioet lisez ce qu'il dit. Puis lisez la barre d'état —Run ▸ Language server statusmontre le chemin que l'éditeur a trouvé et si le serveur a répondu à sa poignée de main. - Vous voulez mettre à jour.
npm update -g typescript-language-server. Gardeztypescripten 6 tant que le serveur ne peut pas démarrer avec 7. Redémarrez l'éditeur : il démarre un serveur par session et ne remarque pas un nouveau binaire avant. - Vous installez pour la CI, ou dans une image.
node:24-alpineet les autres images officielles contiennentnode,npmetnpx;npm install -g typescript-language-server typescript@6dans une ligneRUNajoute le serveur. L'éditeur ne peut pas utiliser un serveur dans un conteneur, c'est donc pour lancer les commandes du projet, pas pour la complétion. - Vous voulez être sûr que l'éditeur ne le trouve pas simplement sur le
PATH. Lancez-le avec un environnement réduit —env PATH=/usr/bin:/bin turbo-js main.js— et la barre d'état doit toujours direLSP: ready, depuis l'un des répertoires ci-dessus.
À quoi sert chaque pièce, vue de l'éditeur
| Pièce | Ce que l'éditeur en fait |
|---|---|
typescript-language-server |
La complétion, le survol, les définitions, les références, les implémentations, les symboles du fichier et du projet, et les marques d'erreur |
node |
Les entrées Run et Test du menu JavaScript |
npm |
Les entrées Install et Start |
npx |
Les entrées Format et Lint |
Voir aussi
- Activer la complétion — que faire quand le serveur est installé et ne dit toujours rien
- Lancer des commandes Node depuis l'éditeur — le menu JavaScript
- Coloration et complétion — pourquoi le serveur est celui de TypeScript
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 |
|