turbo-editors/turbo-jspublic Fork 0
main
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.

📦 Turbo JS 91999d1 · on main · k33g · 11h ago
install-node.md · 126 lines · 6.6 KBmarkdown
Blame HistoryOpen raw

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 -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.
  • Vous utilisez pnpm. pnpm add -g typescript-language-server typescript@6 met le serveur dans $PNPM_HOME, que l'éditeur fouille.
  • 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.
  • 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.
  • 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.
  • 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.

À 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

  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
# 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](install.md) 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) :

```bash
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash
exec $SHELL
nvm install --lts
```

**Avec Volta :**

```bash
curl https://get.volta.sh | bash
exec $SHELL
volta install node
```

**Avec Homebrew** (macOS) :

```bash
brew install node
```

**Avec l'installeur** de [nodejs.org](https://nodejs.org), qui met `node` et `npm` dans `/usr/local/bin` sur macOS et Linux.

Vérifiez :

```bash
node --version
npm --version
```

```
v24.19.0
11.17.0
```

## Installer le serveur de langage

```bash
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](enable-completion.md) en dit plus.

L'installeur de Turbo JS fera cela si on le lui demande :

```bash
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

```bash
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` :

```bash
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 -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.
- **Vous utilisez pnpm.** `pnpm add -g typescript-language-server typescript@6` met le serveur dans `$PNPM_HOME`, que l'éditeur fouille.
- **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.
- **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.
- **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.
- **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.

## À 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](enable-completion.md) — que faire quand le serveur est installé et ne dit toujours rien
- [Lancer des commandes Node depuis l'éditeur](run-node-commands.md) — le menu JavaScript
- [Coloration et complétion](../explanation/colouring-and-completion.md) — pourquoi le serveur est celui de TypeScript