Partager via


Installer Node.js sur le sous-système Windows pour Linux (WSL2)

Pour ceux qui préfèrent utiliser Node.js dans un environnement Linux, ce guide vous aidera à installer Node.js sur le sous-système Windows pour Linux (WSL 2 est la version recommandée).

Tenez compte des points suivants lors de la décision d’installation et de développement avec Node.js dans un environnement Windows natif ou Linux (WSL 2) :

  • niveau de compétence: si vous débutez avec le développement avec Node.js et que vous souhaitez être opérationnel rapidement afin de pouvoir apprendre, installer Node.js sur Windows. L’installation et l’utilisation de Node.js sur Windows fournissent un environnement moins complexe pour les débutants que l’utilisation de WSL.
  • Outil client en ligne de commande : Si vous préférez PowerShell, utilisez Node.js sur Windows. Si vous préférez Bash, utilisez Node.js sur Linux (WSL 2).
  • serveur de production: si vous envisagez de déployer votre application Node.js sur Windows Server, utilisez Node.js sur Windows. Si vous envisagez de déployer sur un serveur Linux, utilisez Node.js sur Linux (WSL 2). WSL vous permet d’installer votre distribution Linux préférée (avec Ubuntu comme valeur par défaut), en garantissant la cohérence entre votre environnement de développement (où vous écrivez du code) et votre environnement de production (le serveur sur lequel votre code est déployé).
  • vitesse de performance et compatibilité des appels système: il existe un débat et un développement continus sur les performances Linux et Windows, mais la clé lors de l’utilisation d’une machine Windows consiste à conserver vos fichiers projet de développement dans le même système de fichiers que celui où vous avez installé Node.js. Si vous installez Node.js sur le système de fichiers Windows, conservez vos fichiers sur un lecteur Windows (par exemple, C :/). Si vous installez Node.js sur une distribution Linux (comme Ubuntu), conservez vos fichiers projet dans le répertoire du système de fichiers Linux associé à la distribution que vous utilisez. (Entrez explorer.exe . à partir de votre ligne de commande de distribution WSL pour parcourir le répertoire à l’aide de l’Explorateur de fichiers Windows.)
  • conteneurs Docker: si vous souhaitez utiliser des conteneurs Docker pour développer votre projet sur Windows, nous vous recommandons de installer Docker Desktop sur Windows. Pour utiliser Docker dans un espace de travail Linux, consultez configurer Docker Desktop pour Windows avec WSL 2 pour éviter d’avoir à gérer les scripts de build Linux et Windows.

Installer le sous-système Windows pour Linux

Consultez la documentation d’installation de WSL si vous envisagez d’utiliser un environnement de développement Linux avec Node.js. Ces étapes incluent le choix d’une distribution Linux (Ubuntu est la version par défaut) et la version du sous-système Windows pour Linux (WSL 2 est la version par défaut et recommandée). Vous pouvez installer plusieurs distributions Linux si vous le souhaitez.

Une fois que vous avez installé WSL 2 et une distribution Linux, ouvrez la distribution Linux (elle se trouve dans votre liste de terminaux Windows ou menu Démarrer Windows) et vérifiez la version et le nom du code à l’aide de la commande : lsb_release -dc.

Nous vous recommandons de mettre à jour régulièrement votre distribution Linux, y compris immédiatement après l’installation, pour vous assurer que vous disposez des packages les plus récents. Windows ne gère pas automatiquement cette mise à jour. Pour mettre à jour votre distribution, utilisez la commande : sudo apt update && sudo apt upgrade.

Windows Terminal

Le terminal Windows est un interpréteur de commandes amélioré qui vous permet d’exécuter plusieurs onglets afin de pouvoir basculer rapidement entre les lignes de commande Linux, l’invite de commandes Windows, PowerShell, Azure CLI ou tout ce que vous préférez utiliser. Vous pouvez également créer des liaisons de touche personnalisées (touches de raccourci pour ouvrir ou fermer des onglets, copier+coller, etc.), utiliser la fonctionnalité de recherche, personnaliser votre terminal avec des thèmes (jeux de couleurs, styles de police et tailles, image d’arrière-plan/flou/transparence), etc. En savoir plus dans la documentation du terminal Windows.

Installer nvm, node.jset npm

Outre le choix de l’installation sur Windows ou WSL, il existe des choix supplémentaires à effectuer lors de l’installation de Node.js. Nous vous recommandons d’utiliser un gestionnaire de versions à mesure que les versions changent très rapidement. Vous devrez probablement basculer entre plusieurs versions d'Node.js en fonction des besoins des différents projets sur lesquels vous travaillez. Node Version Manager, plus couramment appelé nvm, est le moyen le plus populaire d’installer plusieurs versions de Node.js. Nous allons suivre les étapes d’installation de nvm, puis l’utiliser pour installer Node.js et Node Package Manager (npm). D’autres gestionnaires de versions sont également à prendre en compte. Ceux-ci sont couverts à la section suivante.

Important

Il est toujours recommandé de supprimer toutes les installations existantes de Node.js ou npm de votre système d’exploitation avant d’installer un gestionnaire de versions, car les différents types d’installation peuvent entraîner des conflits étranges et déroutants. Par exemple, la version de Node qui peut être installée avec la commande apt-get Ubuntu est actuellement obsolète. Pour obtenir de l’aide sur la suppression des installations précédentes, consultez Comment supprimer nodejs d’ubuntu.)

Pour plus d’informations sur l’installation de la machine virtuelle réseau, consultez installation et mise à jour dans le référentiel NVM sur GitHub.

  1. Ouvrez votre ligne de commande Ubuntu (ou distribution de votre choix).

  2. Installez cURL (outil utilisé pour télécharger du contenu à partir d’Internet dans la ligne de commande) avec : sudo apt-get install curl

  3. Installez nvm avec : curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash

    Remarque

    L’installation d’une version plus récente de NVM à l’aide de cURL remplace l’ancienne, en laissant la version de Node que vous avez utilisée pour installer intact. Pour plus d’informations, consultez la page projet GitHub pour obtenir les informations de publication les plus récentes sur NVM.

  4. Pour vérifier l’installation, entrez : command -v nvm ... cela doit retourner « nvm », si vous recevez « commande introuvable » ou aucune réponse du tout, fermez votre terminal actuel, rouvrez-le, puis réessayez. En savoir plus dans le dépôt github nvm.

  5. Répertorier les versions de Node actuellement installées (ne doivent pas être présentes à ce stade) : nvm ls

    liste NVM ne montrant aucune version de Node

  6. Installez les versions LTS actuelles et stables de Node.js. Dans une étape ultérieure, vous allez apprendre à basculer entre les versions actives de Node.js avec une commande nvm.

    • Installez la version LTS stable actuelle de Node.js (recommandée pour les applications de production) : nvm install --lts
    • Installez la version actuelle de Node.js (pour tester les dernières fonctionnalités et améliorations de Node.js, mais plus susceptibles d’avoir des problèmes) : nvm install node
  7. Répertorier les versions de Node installées : nvm ls ... vous devez maintenant voir les deux versions que vous venez d’installer répertoriées.

    liste NVM montrant les versions LTS et Current Node

  8. Vérifiez que Node.js est installé et que la version par défaut est actuellement avec : node --version. Vérifiez ensuite que vous disposez également de npm avec : npm --version (vous pouvez également utiliser which node ou which npm pour voir le chemin d’accès utilisé pour les versions par défaut).

  9. Pour modifier la version de Node.js que vous souhaitez utiliser pour un projet, créez un répertoire de projet mkdir NodeTest, puis entrez le répertoire cd NodeTest, puis entrez nvm use node pour basculer vers la version actuelle, ou nvm use --lts pour basculer vers la version LTS. Vous pouvez également utiliser le numéro spécifique pour toutes les versions supplémentaires que vous avez installées, comme nvm use v8.2.1. (Pour répertorier toutes les versions de Node.js disponibles, utilisez la commande : nvm ls-remote).

Si vous utilisez NVM pour installer Node.js et NPM, vous n’avez pas besoin d’utiliser la commande SUDO pour installer de nouveaux packages.

Autres gestionnaires de versions

Bien que nvm soit actuellement le gestionnaire de versions le plus populaire pour le nœud, il existe quelques alternatives à prendre en compte :

  • n est une alternative de longue date nvm qui effectue la même chose avec des commandes légèrement différentes et est installée via npm plutôt qu’un script bash.
  • fnm est un gestionnaire de versions plus récent, qui prétend être beaucoup plus rapide que nvm. (il utilise également Azure Pipelines).
  • Volta est un nouveau gestionnaire de versions de l’équipe LinkedIn qui promet une vitesse accrue et une meilleure prise en charge multiplateforme.
  • asdf-vm est une interface CLI unique pour plusieurs langages, comme ike gvm, nvm, rbenv & pyenv (et plus) en un.
  • nvs (Node Version Switcher) est une alternative multiplateforme à nvm, offrant la possibilité d’intégration avec VS Code.

Installer Visual Studio Code

Nous vous recommandons d’utiliser Visual Studio Code avec le pack d’extension de développement à distance pour les projets Node.js. Cela fractionne VS Code en architecture « client-serveur », avec le client (l’interface utilisateur VS Code) s’exécutant sur votre système d’exploitation Windows et le serveur (votre code, Git, plug-ins, etc.) s’exécutant à distance sur votre distribution Linux WSL.

Remarque

Ce scénario « distant » est un peu différent de celui auquel vous pouvez être habitué. WSL prend en charge une distribution Linux réelle où votre code de projet s’exécute, séparément de votre système d’exploitation Windows, mais toujours sur votre ordinateur local. L’extension Remote-WSL se connecte à votre sous-système Linux comme s’il s’agissait d’un serveur distant, bien qu’elle ne s’exécute pas dans le cloud... elle s’exécute toujours sur votre ordinateur local dans l’environnement WSL que vous avez activé pour s’exécuter avec Windows.

D’autres éditeurs de code, comme IntelliJ, Sublime Text, Crochets, etc. fonctionnent également avec un environnement de développement WSL 2 Node.js, mais peuvent ne pas avoir le même type de fonctionnalités distantes que VS Code. Ces éditeurs de code peuvent rencontrer des problèmes d’accès à l’emplacement réseau partagé WSL (\wsl$\Ubuntu\home) et essaieront de générer vos fichiers Linux à l’aide d’outils Windows, ce qui n’est probablement pas ce que vous voulez. L’extension Remote-WSL dans VS Code gère cette compatibilité pour vous, mais avec d’autres IDE, vous devrez peut-être configurer un serveur X. La prise en charge de l’exécution d’applications GUI dans WSL (tel qu’un IDE d’éditeur de code) sera bientôt disponible.

Les éditeurs de texte basés sur les terminaux (vim, emacs, nano) sont également utiles pour apporter des modifications rapides à partir de droite à l’intérieur de votre console. L’article, Emacs, Nano ou Vim : Choisissez votre éditeur de texte Terminal-Based sagement effectue un bon travail expliquant certaines différences et un peu sur la façon d’utiliser chacun d’eux.

Pour installer VS Code et l’extension Remote-WSL :

  1. Télécharger et installer VS Code pour Windows. VS Code est également disponible pour Linux, mais le sous-système Windows pour Linux ne prend pas en charge les applications GUI. Nous devons donc l’installer sur Windows. Ne vous inquiétez pas, vous serez toujours en mesure d’intégrer votre ligne de commande Linux et vos outils à l’aide de l’extension Remote - WSL.

  2. Installez l'Remote - WSL Extension sur VS Code. Cela vous permet d’utiliser WSL comme environnement de développement intégré et de gérer la compatibilité et le chemin d’accès pour vous. En savoir plus.

Important

Si vous avez déjà installé VS Code, vous devez vous assurer que vous disposez de la version 1.35 Mai ou ultérieure afin d’installer l’extension Remote - WSL. Nous vous déconseillons d’utiliser WSL dans VS Code sans l’extension Remote-WSL, car vous perdez la prise en charge de la saisie semi-automatique, du débogage, du linting, etc. Fait amusant : cette extension WSL est installée dans $HOME/.vscode-server/extensions.

Extensions utiles pour VS Code

Bien que VS Code offre de nombreuses fonctionnalités prêtes à l'emploi pour le développement Node.js, il existe des extensions utiles qu'il est utile d'installer, disponibles dans le pack d’extension Node.js. Installez-les tous ou choisissez ceux qui vous semblent les plus utiles.

Pour installer le pack d’extensions Node.js :

  1. Ouvrez la fenêtre Extensions (Ctrl+Maj+X) dans VS Code.

    La fenêtre Extensions est désormais divisée en trois sections (car vous avez installé l’extension Remote-WSL).

    • « Local - Installé » : extensions installées pour une utilisation avec votre système d’exploitation Windows.
    • « WSL :Ubuntu-18.04-Installed » : extensions installées pour une utilisation avec votre système d’exploitation Ubuntu (WSL).
    • « Recommandé » : extensions recommandées par VS Code en fonction des types de fichiers de votre projet actuel.

    Extensions VS Code locales et distantes

  2. Dans la zone de recherche située en haut de la fenêtre Extensions, entrez : Node Extension Pack (ou le nom de l’extension que vous recherchez). L’extension est installée pour vos instances Locales ou WSL de VS Code en fonction de l’emplacement où vous avez ouvert le projet actuel. Vous pouvez le savoir en sélectionnant le lien distant dans le coin inférieur gauche de votre fenêtre VS Code (en vert). Il vous donnera la possibilité d’ouvrir ou de fermer une connexion à distance. Installez vos extensions Node.js dans l’environnement « WSL :Ubuntu-18.04 ».

    Lien distant de VS Code

Voici quelques extensions supplémentaires que vous pouvez envisager :

  • débogueur JavaScript: une fois que vous avez terminé le développement côté serveur avec Node.js, vous devez développer et tester le côté client. Cette extension est un débogueur JavaScript basé sur DAP. Il débogue Node.js, Chrome, Edge, WebView2, les extensions VS Code, etc.
  • Calques d'autres éditeurs : ces extensions peuvent être utiles si vous utilisiez auparavant un autre éditeur de texte (comme Atom, Sublime, Vim, eMacs, Notepad++, etc.).
  • paramètres de synchronisation: vous permet de synchroniser vos paramètres VS Code entre différentes installations à l’aide de GitHub. Si vous travaillez sur différents ordinateurs, cela permet de maintenir la cohérence de votre environnement entre eux.

Configurer Git (facultatif)

Pour configurer Git pour un projet Node.js sur WSL, consultez l’article Bien démarrer avec Git sur le sous-système Windows pour Linux dans la documentation WSL.