turbo-editors/turbo-jspublic Fork 0
v1.0.3
Commits
Clone
git clone https://git.rickub.com/turbo-editors/turbo-js.git
git clone ssh://git@rickub.com/turbo-editors/turbo-js.git

Host key fingerprint (ed25519): SHA256:iycHnxEyq0Q7uyVpB7JlznP0G7JrTPXLYRcAU5CSLhc — verify it before your first connect.

install-node.md · 126 lines · 6.6 KBmarkdown Blame HistoryRaw
📦 Turbo JS 91999d1 k33g yesterday1# Installer Node.js
2
3Ce 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](install.md) pour cela.
4
5**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.
6
7## Quelles pièces il vous faut
8
9| Pièce | À quoi elle sert | D'où elle vient |
10| --- | --- | --- |
11| `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 |
12| `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 |
13| `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 |
14| `typescript-language-server` + `typescript@6` | Le serveur de langage, et le moteur qu'il enveloppe | `npm install -g` |
15
16Turbo JS a été écrit contre Node **24** et npm **11** ; toute release courante convient.
17
18## Installer Node
19
20Choisissez-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.
21
22**Avec nvm** (macOS et Linux) :
23
24```bash
25curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash
26exec $SHELL
27nvm install --lts
28```
29
30**Avec Volta :**
31
32```bash
33curl https://get.volta.sh | bash
34exec $SHELL
35volta install node
36```
37
38**Avec Homebrew** (macOS) :
39
40```bash
41brew install node
42```
43
44**Avec l'installeur** de [nodejs.org](https://nodejs.org), qui met `node` et `npm` dans `/usr/local/bin` sur macOS et Linux.
45
46Vérifiez :
47
48```bash
49node --version
50npm --version
51```
52
53```
54v24.19.0
5511.17.0
56```
57
58## Installer le serveur de langage
59
60```bash
61npm install -g typescript-language-server typescript@6
62```
63
64Deux 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](enable-completion.md) en dit plus.
65
66L'installeur de Turbo JS fera cela si on le lui demande :
67
68```bash
69scripts/install.sh --with-server
70```
71
72Il lance le même `npm install -g` quand aucun serveur fonctionnel n'est trouvé, et a besoin de `npm` sur le `PATH`.
73
74## Vérifier
75
76```bash
77typescript-language-server --version
78```
79
80```
816.0.0
82```
83
84Et qu'il démarre vraiment — un serveur dont le TypeScript est de la mauvaise version n'échoue qu'à ce moment-là, pas à `--version` :
85
86```bash
87echo | typescript-language-server --stdio
88```
89
90Il 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`.
91
92## Vérifier que l'éditeur le trouve
93
94Ouvrez n'importe quel fichier `.js` dans un projet et lisez l'extrémité droite de la barre d'état :
95
96```
97 F1 Describe F2 Save F3 Open F6 Window F10 Menu 1:1 LSP: ready
98```
99
100`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.
101
102**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.
103
104## Variantes
105
106- **`npm install -g` demande sudo.** Le Node de l'installeur système possède `/usr/local/lib`. Soit utilisez `sudo`, soit donnez à npm un préfixe à vous : `npm config set prefix ~/.npm-global` et ajoutez `~/.npm-global/bin` au `PATH` — l'éditeur fouille ce répertoire par son nom.
107- **Vous utilisez pnpm.** `pnpm add -g typescript-language-server typescript@6` met le serveur dans `$PNPM_HOME`, que l'éditeur fouille.
108- **Vous avez déjà `typescript-language-server` mais pas de complétion.** Lancez `echo | typescript-language-server --stdio` et lisez ce qu'il dit. Puis lisez la barre d'état — `Run ▸ Language server status` montre le chemin que l'éditeur a trouvé et si le serveur a répondu à sa poignée de main.
109- **Vous voulez mettre à jour.** `npm update -g typescript-language-server`. Gardez `typescript` en 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.
110- **Vous installez pour la CI, ou dans une image.** `node:24-alpine` et les autres images officielles contiennent `node`, `npm` et `npx` ; `npm install -g typescript-language-server typescript@6` dans une ligne `RUN` ajoute 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.
111- **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 dire `LSP: ready`, depuis l'un des répertoires ci-dessus.
112
113## À quoi sert chaque pièce, vue de l'éditeur
114
115| Pièce | Ce que l'éditeur en fait |
116| --- | --- |
117| `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 |
118| `node` | Les entrées **Run** et **Test** du menu JavaScript |
119| `npm` | Les entrées **Install** et **Start** |
120| `npx` | Les entrées **Format** et **Lint** |
121
122## Voir aussi
123
124- [Activer la complétion](enable-completion.md) — que faire quand le serveur est installé et ne dit toujours rien
125- [Lancer des commandes Node depuis l'éditeur](run-node-commands.md) — le menu JavaScript
126- [Coloration et complétion](../explanation/colouring-and-completion.md) — pourquoi le serveur est celui de TypeScript