Installeer Node.js in het Windows-subsysteem voor Linux (WSL2)
Voor degenen die liever Node.js gebruiken in een Linux-omgeving, helpt deze handleiding u bij het installeren van Node.js op het Windows-subsysteem voor Linux (WSL 2 is de aanbevolen versie).
Houd rekening met het volgende bij het bepalen waar u moet installeren en of u wilt ontwikkelen met Node.js in een systeemeigen Windows- versus een Linux-omgeving (WSL 2):
- vaardigheidsniveau: als u geen ervaring hebt met het ontwikkelen met Node.js en snel aan de slag wilt gaan, Node.js installeren op Windows. Het installeren en gebruiken van Node.js in Windows biedt een minder complexe omgeving voor beginners dan het gebruik van WSL.
- opdrachtregelclientprogramma: als u de voorkeur geeft aan PowerShell, gebruikt u Node.js in Windows. Als u liever Bash gebruikt, gebruikt u Node.js in Linux (WSL 2).
- Productieserver: als u van plan bent om uw Node.js-app op Windows Server te implementeren, gebruikt u Node.js in Windows. Als u van plan bent om te implementeren op een Linux-server, gebruikt u Node.js op Linux (WSL 2). Met WSL kunt u uw voorkeurs Linux-distributie (met Ubuntu als standaardinstelling) installeren, waardoor consistentie wordt verzekerd tussen uw ontwikkelomgeving (waar u code schrijft) en uw productieomgeving (de server waar uw code wordt uitgevoerd).
-
prestatiesnelheid en systeemoproepcompatibiliteit: er is continu debat en ontwikkeling op Linux versus Windows-prestaties, maar de sleutel bij het gebruik van een Windows-computer is om uw ontwikkelingsprojectbestanden in hetzelfde bestandssysteem te houden als waarop u Node.jshebt geïnstalleerd. Als u Node.js op het Windows-bestandssysteem installeert, bewaart u uw bestanden op een Windows-station (bijvoorbeeld C:/). Als u Node.js installeert op een Linux-distributie (zoals Ubuntu), moet u uw projectbestanden in de map van het Linux-bestandssysteem bewaren die zijn gekoppeld aan de distributie die u gebruikt. (Voer
explorer.exe .
in vanaf de opdrachtregel van de WSL-distributie om door de map te bladeren met behulp van Windows Verkenner.) - Docker-containers: als u Docker-containers wilt gebruiken om uw project te ontwikkelen in Windows, raden we u aan Docker Desktop te installeren in Windows. Als u Docker in een Linux-werkruimte wilt gebruiken, raadpleegt u Docker Desktop voor Windows met WSL 2 instellen om te voorkomen dat u zowel Linux- als Windows-buildscripts moet onderhouden.
Windows-subsysteem voor Linux installeren
Zie de WSL-installatiedocumentatie als u een Linux-ontwikkelomgeving met Node.jswilt gebruiken. Deze stappen omvatten het kiezen van een Linux-distributie (Ubuntu is de standaardinstelling) en de versie van het Windows-subsysteem voor Linux (WSL 2 is de standaard- en aanbevolen versie). U kunt desgewenst meerdere Linux-distributies installeren.
Nadat u WSL 2 en een Linux-distributie hebt geïnstalleerd, opent u de Linux-distributie (deze vindt u in uw Windows Terminal-lijst of het startmenu van Windows) en controleert u de versie en codenaam met behulp van de opdracht: lsb_release -dc
.
Het is raadzaam om uw Linux-distributie regelmatig bij te werken, ook direct nadat u de installatie hebt uitgevoerd, om ervoor te zorgen dat u over de meest recente pakketten beschikt. Windows verwerkt deze update niet automatisch. Gebruik de opdracht: sudo apt update && sudo apt upgrade
om uw distributie bij te werken.
Windows Terminal
Windows Terminal is een verbeterde opdrachtregelshell waarmee u meerdere tabbladen kunt uitvoeren, zodat u snel kunt schakelen tussen Linux-opdrachtregels, Windows-opdrachtprompt, PowerShell, Azure CLI of wat u liever gebruikt. U kunt ook aangepaste sleutelbindingen maken (sneltoetsen voor het openen of sluiten van tabbladen, kopiëren en plakken, enzovoort), de zoekfunctie gebruiken, uw terminal aanpassen met thema's (kleurenschema's, tekenstijlen en grootten, achtergrondafbeelding/vervagen/transparantie) en meer. Meer informatie vindt u in de Windows Terminal-documenten.
Nvm, node.jsen npm installeren
Naast het kiezen of u wilt installeren in Windows of WSL, zijn er extra keuzes die u moet maken bij het installeren van Node.js. We raden u aan een versiebeheer te gebruiken als versies zeer snel veranderen. U moet waarschijnlijk schakelen tussen meerdere versies van Node.js op basis van de behoeften van verschillende projecten waaraan u werkt. Node Version Manager, ook wel nvm genoemd, is de populairste manier om meerdere versies van Node.jste installeren. We doorlopen de stappen voor het installeren van nvm en gebruiken deze vervolgens om Node.js en Node Package Manager (npm) te installeren. Er zijn alternatieve versiebeheerders die alsook in de volgende sectie worden besproken.
Belangrijk
Het wordt altijd aanbevolen om bestaande installaties van Node.js of npm van uw besturingssysteem te verwijderen voordat u een versiebeheer installeert omdat de verschillende typen installatie tot vreemde en verwarrende conflicten kunnen leiden. De versie van Node die kan worden geïnstalleerd met de opdracht ubuntu apt-get
is momenteel verouderd. Zie Nodejs verwijderen uit Ubuntuvoor hulp bij het verwijderen van eerdere installaties.
Zie Installeren en bijwerken in de NVM-opslagplaats op GitHubvoor de meest recente informatie over het installeren van NVM.
Open uw Ubuntu-opdrachtregel (of distributie van uw keuze).
Installeer cURL (een hulpprogramma dat wordt gebruikt voor het downloaden van inhoud van internet in de opdrachtregel) met:
sudo apt-get install curl
Nvm installeren met:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash
Notitie
Als u een nieuwere versie van NVM installeert met behulp van cURL, wordt de oudere versie vervangen, waardoor de versie van Node waarop u NVM hebt gebruikt, intact blijft. Zie de GitHub-projectpagina voor de meest recente release-informatie over NVM-voor meer informatie.
Voer het volgende in om de installatie te controleren:
command -v nvm
... Dit retourneert 'nvm', als u 'opdracht niet gevonden' of helemaal geen antwoord ontvangt, sluit u de huidige terminal, opent u deze opnieuw en probeert u het opnieuw. Meer informatie vindt u in de nvm github-opslagplaats.Geef aan welke versies van Node momenteel zijn geïnstalleerd (moet op dit moment geen zijn):
nvm ls
Installeer zowel de huidige als stabiele LTS-versies van Node.js. In een latere stap leert u hoe u kunt schakelen tussen actieve versies van Node.js met een
nvm
opdracht.- Installeer de huidige stabiele LTS-release van Node.js (aanbevolen voor productietoepassingen):
nvm install --lts
- Installeer de huidige release van Node.js (om de nieuwste Node.js functies en verbeteringen te testen, maar met een grotere kans op problemen):
nvm install node
- Installeer de huidige stabiele LTS-release van Node.js (aanbevolen voor productietoepassingen):
Lijst met welke versies van Node zijn geïnstalleerd:
nvm ls
... Nu ziet u de twee versies die u zojuist hebt geïnstalleerd.Controleer of Node.js is geïnstalleerd en de huidige standaardversie met:
node --version
. Controleer vervolgens of u ook npm hebt, met:npm --version
(U kunt ookwhich node
ofwhich npm
gebruiken om het pad te zien dat wordt gebruikt voor de standaardversies).Als u de versie van Node.js wilt wijzigen die u wilt gebruiken voor een project, maakt u een nieuwe projectmap
mkdir NodeTest
en voert u de mapcd NodeTest
in. Voer vervolgensnvm use node
in om over te schakelen naar de huidige versie ofnvm use --lts
om over te schakelen naar de LTS-versie. U kunt ook het specifieke nummer gebruiken voor eventuele extra versies die u hebt geïnstalleerd, zoalsnvm use v8.2.1
. (Als u alle beschikbare versies van Node.js wilt weergeven, gebruikt u de opdracht:nvm ls-remote
).
Als u NVM gebruikt om Node.js en NPM te installeren, hoeft u de SUDO-opdracht niet te gebruiken om nieuwe pakketten te installeren.
Beheerders van alternatieve versies
Momenteel is nvm de populairste versiebeheerder voor node, maar er zijn enkele alternatieven om rekening mee te houden.
-
n is een langstaand
nvm
alternatief dat hetzelfde doet met iets andere opdrachten en wordt geïnstalleerd vianpm
in plaats van een bash-script. -
fnm is een nieuwere versiebeheerder, die claimt veel sneller is dan
nvm
. (Er wordt ook gebruikgemaakt van Azure Pipelines.) - Volta is een nieuwe versiebeheerder van het LinkedIn-team dat een verbeterde snelheid en platformoverschrijdende ondersteuning claimt.
- asdf-vm is één CLI voor meerdere talen, zoals ike gvm, nvm, rbenv & pyenv (en meer) allemaal in één.
-
nvs (Node Version Switcher) is een platformoverschrijdend alternatief voor
nvm
met de mogelijkheid om te integreren met VS Code.
Visual Studio Code installeren
U wordt aangeraden Visual Studio Code te gebruiken met het extensiepakket voor externe ontwikkeling voor Node.js projecten. Hiermee splitst VS Code in een 'client-server'-architectuur, waarbij de client (de VS Code-gebruikersinterface) wordt uitgevoerd op uw Windows-besturingssysteem en de server (uw code, Git, invoegtoepassingen, enzovoort) die op afstand wordt uitgevoerd op uw WSL Linux-distributie.
Notitie
Dit 'op afstand' scenario is een beetje anders dan u gewend bent. WSL ondersteunt een werkelijke Linux-distributie waar uw projectcode wordt uitgevoerd, afzonderlijk van uw Windows-besturingssysteem, maar nog steeds op uw lokale computer. De Remote-WSL-extensie maakt verbinding met uw Linux-subsysteem alsof het een externe server is, hoewel deze niet wordt uitgevoerd in de cloud... Het wordt nog steeds uitgevoerd op uw lokale computer in de WSL-omgeving die u hebt ingeschakeld om naast Windows uit te voeren.
- Op Linux gebaseerde IntelliSense en linting wordt ondersteund.
- Uw project wordt automatisch gebouwd in Linux.
- U kunt al uw extensies gebruiken die worden uitgevoerd op Linux (ES Lint, NPM Intellisense, ES6-fragmenten, enzovoort).
Andere code-editors, zoals IntelliJ, Sublime Text, Brackets, enz., werken ook met een WSL 2 Node.js ontwikkelomgeving, maar hebben mogelijk niet soortgelijke externe functies als VS Code. Deze code-editors kunnen problemen ondervinden bij het openen van de gedeelde WSL-netwerklocatie (\wsl$\Ubuntu\home) en proberen uw Linux-bestanden te bouwen met behulp van Windows-hulpprogramma's, wat waarschijnlijk niet wat u wilt. De Remote-WSL-extensie in VS Code verwerkt deze compatibiliteit voor u, met andere IDE's die u mogelijk moet instellen op een X-server. Ondersteuning voor het uitvoeren van GUI-apps in WSL (zoals een IDE-code-editor) zal binnenkort beschikbaar zijn.
Op terminal gebaseerde teksteditors (vim, emacs, nano) zijn ook handig voor het aanbrengen van snelle wijzigingen vanuit de console. Het artikel, Emacs, Nano of Vim: Kies uw Terminal-Based Teksteditor slim, legt op een duidelijke manier enkele verschillen uit en hoe u elk van deze een beetje kunt gebruiken.
Om VS Code en de Remote-WSL-extensie te installeren:
VS Code voor Windowsdownloaden en installeren. VS Code is ook beschikbaar voor Linux, maar Windows-subsysteem voor Linux biedt geen ondersteuning voor GUI-apps, dus moeten we deze installeren in Windows. Geen zorgen, u kunt nog steeds integreren met uw Linux-opdrachtregel en hulpprogramma's met behulp van de Remote - WSL-extensie.
Installeer de Remote - WSL-extensie in VS Code. Hiermee kunt u WSL als uw geïntegreerde ontwikkelomgeving gebruiken en compatibiliteit en pading voor u afhandelen. Meer informatie.
Belangrijk
Als u VS Code al hebt geïnstalleerd, moet u ervoor zorgen dat u versie 1.35 Mei of later hebt om de Remote - WSL-extensiete installeren. We raden u niet aan WSL te gebruiken in VS Code zonder de Remote-WSL-extensie, omdat u geen ondersteuning meer krijgt voor automatisch aanvullen, foutopsporing, linting, enzovoort. Leuk feit: deze WSL-extensie is geïnstalleerd in $HOME/.vscode-server/extensions.
Nuttige VS Code-extensies
Hoewel VS Code wordt geleverd met veel functies voor Node.js ontwikkeling, zijn er enkele nuttige extensies om te overwegen om te installeren in de Node.js Extension Pack. Installeer ze allemaal of kies welke u het nuttigst lijken.
Het Node.js-extensiepakket installeren:
Open het venster Extensies (Ctrl+Shift+X) in VS Code.
Het venster Extensies is nu onderverdeeld in drie secties (omdat u de Remote-WSL-extensie hebt geïnstalleerd).
- 'Lokaal - geïnstalleerd': de extensies die zijn geïnstalleerd voor gebruik met uw Windows-besturingssysteem.
- "WSL:Ubuntu-18.04-Installed": de extensies die zijn geïnstalleerd voor gebruik met uw Ubuntu-besturingssysteem (WSL).
- "Aanbevolen": extensies die door VS Code worden aanbevolen op basis van de bestandstypen in uw huidige project.
Voer in het zoekvak boven in het venster Extensies het volgende in: Node Extension Pack (of de naam van de extensie die u zoekt). De extensie wordt geïnstalleerd voor uw lokale of WSL-exemplaren van VS Code, afhankelijk van waar u het huidige project hebt geopend. U kunt dit zien door de externe koppeling te selecteren in de linkerbenedenhoek van het VS Code-venster (groen). U kunt hiermee een externe verbinding openen of sluiten. Installeer uw Node.js-extensies in de omgeving 'WSL:Ubuntu-18.04'.
Enkele extra extensies die u kunt overwegen, zijn onder andere:
- JavaScript Debugger: Zodra u klaar bent met ontwikkelen aan de serverzijde met Node.js, moet u de clientzijde ontwikkelen en testen. Deze extensie is een op DAP gebaseerd JavaScript-foutopsporingsprogramma. Het debugt Node.js, Chrome, Edge, WebView2, VS Code-extensies en meer.
- Keymaps van andere editors: Deze extensies kunnen uw omgeving helpen zich meteen thuis te voelen als u overstapt van een andere teksteditor (zoals Atom, Sublime, Vim, Emacs, Kladblok++, enzovoort).
- Instellingen synchroniseren: hiermee kunt u uw VS Code-instellingen synchroniseren tussen verschillende installaties met behulp van GitHub. Als u op verschillende computers werkt, zorgt dit ervoor dat uw omgeving consistent blijft.
Git instellen (optioneel)
Als u Git wilt instellen voor een Node.js-project op WSL, raadpleegt u het artikel Aan de slag met Git op Windows-subsysteem voor Linux in de WSL-documentatie.
Windows developer