Installer Node.js sur le sous-système Windows pour Linux (WSL2)
Article
Si vous préférez utiliser Node.js dans un environnement Linux, recherchez la vitesse des performances et la compatibilité des appels système importants, souhaitez exécuter des conteneurs Docker qui tirent parti des espaces de travail Linux et évitez d’avoir à gérer les scripts de build Linux et Windows, ou préférez simplement utiliser une ligne de commande Bash, puis vous souhaitez installer Node.js sur le Sous-système Windows pour Linux (plus précisément, WSL 2).
L’utilisation de Sous-système Windows pour Linux (WSL) peut également vous permettre d’installer votre distribution Linux préférée (Ubuntu est notre valeur par défaut) afin que vous puissiez avoir une cohérence entre votre environnement de développement (où vous écrivez du code) et l’environnement de production (le serveur sur lequel votre code est déployé).
Notes
Si vous débutez dans le développement avec Node.js et souhaitez être rapidement opérationnel afin d’apprendre, installez Node.js sur Windows. Cette recommandation s’applique également si vous envisagez d’utiliser un environnement de production Windows Server.
Installer WSL 2
WSL 2 est la version la plus récente disponible pour Windows et est recommandée pour les workflows de développement Node.js professionnels. Pour activer et installer WSL 2, suivez les étapes fournies dans la documentation sur l’installation de WSL. Ces étapes permettent de choisir une distribution Linux (par exemple, Ubuntu).
Une fois que vous avez installé WSL 2 et une distribution Linux, ouvrez la distribution Linux (celle-ci est accessible à partir du menu Démarrer de Windows), puis vérifiez sa version et son nom de code à l’aide de la commande : lsb_release -dc.
Nous vous recommandons de mettre régulièrement à jour votre distribution Linux, notamment juste après son installation, pour être sûr 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 suivante : sudo apt update && sudo apt upgrade.
Installer le Terminal Windows (facultatif)
Terminal Windows est un interpréteur de ligne de commande 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 ce que vous préférez utiliser. Vous pouvez également créer des combinaisons de touches personnalisées (touches de raccourci pour ouvrir ou fermer les onglets, les opérations copier+coller, etc.), utiliser la fonctionnalité de recherche, personnaliser votre terminal avec des thèmes (modèles de couleurs, styles et tailles de police, image d’arrière-plan/flou/transparence), et bien plus encore. Découvrez-en plus dans la documentation de Terminal Windows.
En plus de choisir s’il faut procéder à l’installation sur Windows ou WSL, il faut prendre d’autres décisions lors de l’installation de Node.js. Nous vous recommandons d'utiliser un gestionnaire de versions car les versions changent très rapidement. Vous devrez probablement passer d’une version à une autre de Node.js en fonction des besoins des différents projets sur lesquels vous travaillez. Node Version Manager, également appelé nvm, est la méthode la plus couramment utilisée pour installer plusieurs versions de Node.js. Nous allons donc suivre les étapes d’installation de nvm et 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
Veillez à supprimer toutes les installations existantes de Node.js ou de 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. Par exemple, la version de Node qui peut être installée avec la commande apt-get d’Ubuntu est actuellement obsolète. Pour obtenir de l’aide sur la suppression d’installations précédentes, consultez Comment supprimer Node.js d’Ubuntu.
Pour vérifier l’installation, entrez la commande command -v nvm... qui devrait retourner « nvm ». Si vous recevez le message « commande introuvable » ou aucune réponse, fermez votre terminal, rouvrez-le, puis réessayez. Pour en savoir plus, consultez le dépôt GitHub nvm.
Répertoriez les versions de Node actuellement installées (il ne doit y en avoir aucune à ce stade) : nvm ls
Installez les versions LTS actuelles et stables de Node.js. Dans une étape ultérieure, vous apprendrez à basculer entre les versions actives de Node.js avec une commande nvm.
Installer 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 de Node.js et les améliorations apportées, mais avec plus de problèmes potentiels) : nvm install node
Répertoriez les versions de Node installées : nvm ls... Les deux versions que vous venez d’installer devraient maintenant être répertoriées.
Vérifiez que Node.js est installé et que la version par défaut actuelle est la suivante : node --version. Ensuite, vérifiez que vous avez également 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).
Pour changer la version de Node.js à utiliser pour un projet, créez un répertoire de projet mkdir NodeTest, accédez au 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 de toute version supplémentaire que vous avez installée, 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
Si nvm est actuellement le gestionnaire de versions le plus couramment utilisé pour Node, il en existe d’autres :
n est une alternative classique de nvm, qui remplit la même fonction avec des commandes légèrement différentes, et qui est installée via npm au lieu d’un script bash.
fnm est un gestionnaire de versions plus récent, supposé être beaucoup plus rapide que nvm (il utilise également Azure Pipelines).
Volta est un nouveau gestionnaire de versions de l’équipe LinkedIn, présenté comme plus rapide et offrant une prise en charge multiplateforme.
asdf-VM est une interface de ligne de commande unique tout en un pour plusieurs langages tels que gvm, nvm, rbenv et pyenv (entre autres).
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 Remote Development pour les projets Node.js. Cela a pour effet de diviser VS Code en une 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-in, etc.) s’exécutant « à distance » sur votre distribution Linux WSL.
Notes
Ce scénario « distant » est un peu différent de ce à quoi vous pouvez être habitué. WSL prend en charge une distribution Linux réelle dans laquelle le code de votre projet est exécuté, indépendamment 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, même s’il n’est pas en cours d’exécution dans le cloud. Il est toujours en cours d’exécution sur votre ordinateur local dans l’environnement WSL que vous avez activé pour s’exécuter avec Windows.
Les solutions IntelliSense et Linting basées sur Linux sont prises en charge.
Votre projet sera automatiquement généré dans Linux.
D’autres éditeurs de code, comme IntelliJ, Sublime Text ou Brackets, fonctionnent également avec un environnement de développement Node.js WSL 2, mais ils n’ont peut-être pas le même type de fonctionnalités distantes que VS Code. Ces éditeurs de code peuvent rencontrer des problèmes lors de l’accès à l’emplacement réseau partagé WSL (\wsl$\Ubuntu\home) et tenter de générer vos fichiers Linux à l’aide d’outils Windows, ce que vous ne souhaitez probablement pas. L’extension Remote-WSL dans VS Code gère cette compatibilité pour vous ; avec d’autres IDE, vous devriez 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 un terminal (VIM, Emacs, nano) sont également utiles pour apporter des modifications rapides directement sur la console L’article Emacs, Nano, or Vim: Choose your Terminal-Based Text Editor Wisely explique judicieusement quelques différences et aborde succinctement la façon d’utiliser chacun d’entre eux.
Pour installer VS Code et l’extension Remote-WSL :
Téléchargez et installez 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 de l’intégrer dans vos outils et dans la ligne de commande Linux à l’aide de l’extension WSL-Remote.
Installez l’extension WSL-Remote sur VS Code. Cela vous permet d’utiliser WSL comme environnement de développement intégré et de gérer la compatibilité et les chemins 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 de mai ou plus pour installer l’extension WSL-Remote. Nous vous déconseillons d’utiliser WSL dans VS Code sans l’extension WSL-Remote, car vous perdrez la prise en charge de la saisie semi-automatique, du débogage, de la vérification (linting), etc. Le saviez-vous ? Cette extension WSL est installée dans le répertoire $HOME/.vscode-server/extensions.
Extensions VS Code utiles
Si VS Code intègre de nombreuses fonctionnalités pour le développement en Node.js, il existe des extensions utiles disponibles dans le Pack d’extension Node.js dont vous pouvez envisager l’installation. Installez-les toutes ou choisissez celles qui vous semblent les plus utiles.
Pour installer le pack d'extension Node.js :
Ouvrez la fenêtre Extensions (Ctrl + Maj + X) dans VS Code.
La fenêtre Extensions est divisée en trois sections (parce que 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-Installé » : extensions installées pour une utilisation avec votre système d’exploitation Ubuntu (WSL).
« Recommended » : Extensions recommandées par VS Code en fonction des types de fichiers dans votre projet actuel.
Dans la zone de recherche du haut de la fenêtre Extensions, entrez : Pack d’extension Node (ou le nom d’une extension que vous recherchez). L’extension sera installée pour vos instances locales ou WSL de VS Code, selon l’emplacement où vous avez ouvert le projet actuel. Vous pouvez le déterminer en sélectionnant le lien distant dans l’angle inférieur gauche de la fenêtre de VS Code (en vert). Elle vous donne la possibilité d’ouvrir ou de fermer une connexion à distance. Installez vos extensions Node.js dans l’environnement « WSL:Ubuntu-18.04 ».
D’autres extensions sont disponibles :
Débogueur JavaScript : lorsque vous aurez terminé le développement côté serveur avec Node.js, vous devrez 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.
Cartes clés d’autres éditeurs : ces extensions peuvent être utiles si vous utilisiez auparavant un autre éditeur de texte (comme Atom, Sublime, Vim, eMacs, Notepad++, etc.).
Synchronisation des paramètres : vous permet de synchroniser vos paramètres VS Code sur différentes installations à l’aide de GitHub. Si vous travaillez sur plusieurs ordinateurs, cela permet de garantir la cohérence de votre environnement.
La source de ce contenu se trouve sur GitHub, où vous pouvez également créer et examiner les problèmes et les demandes de tirage. Pour plus d’informations, consultez notre guide du contributeur.
Commentaires sur Windows developer
Windows developer est un projet open source. Sélectionnez un lien pour fournir des commentaires :
Dans ce module, vous apprenez à utiliser le Sous-système Windows pour Linux (WSL) avec Visual Studio Code (VS Code). Nous expliquons le processus d’installation et les principes de base de l’utilisation de WSL. De plus, nous installons et utilisons l’extension Visual Studio Code WSL. Enfin, nous montrons comment déboguer et exécuter du code Python dans VS Code au sein de notre environnement WSL.