Node.js en npm installeren op Debian

Gepubliceerd op Bijgewerkt op 5 min leestijd

Node.js 10 en 12 zijn allang zonder support. Zo installeert u de actuele LTS-versie samen met npm op Debian, via NodeSource met de handtekeningsleutel in /etc/apt/keyrings.

Node.js is de runtime-omgeving achter talloze webapplicaties, API's en Discord-bots. Op een eigen server installeert u het in een paar minuten. In deze handleiding richt u Node.js samen met npm in op Debian 13, Debian 12 en Debian 11. Op Ubuntu werken dezelfde commando's.

Belangrijk is de keuze van de juiste versie. De vroeger veelgebruikte handleidingen voor Node.js 10 en Node.js 12 zijn achterhaald: beide versies krijgen al jaren geen beveiligingsupdates meer en horen op geen enkele server meer thuis.

Welke Node.js-versie kunt u het beste installeren?

Node.js verschijnt twee keer per jaar in een nieuwe hoofdversie. Alleen de even versienummers worden een LTS-lijn (Long Term Support) en worden daarna ongeveer drie jaar lang onderhouden. Oneven versies zijn kortlevende ontwikkellijnen en zijn niet bedoeld voor productiesystemen.

  • Node.js 24 LTS ("Krypton"): de huidige aanbeveling voor nieuwe projecten en productieservers.
  • Node.js 22 LTS: nog steeds veel in gebruik, zinvol wanneer een applicatie uitdrukkelijk om deze versie vraagt.
  • Node.js 10 en 12: sinds respectievelijk 2021 en 2022 zonder support. Niet meer gebruiken.

Twijfelt u, kijk dan wat uw applicatie voorschrijft. Veel projecten leggen de vereiste versie vast in het veld "engines" van hun bestand package.json.

Vereisten

  • Roottoegang tot uw VPS of rootserver via SSH.
  • Een actuele Debian. Werk het systeem eerst helemaal bij:
apt update && apt upgrade -y

Voor het ophalen van de pakketbron hebt u bovendien een paar standaardtools nodig:

apt install -y ca-certificates curl gnupg

Variant 1: Node.js uit de Debian-pakketbronnen

De eenvoudigste weg loopt via de meegeleverde pakketbronnen:

apt install nodejs npm -y

Het voordeel: updates komen automatisch mee met de overige systeemupdates. Het nadeel: de Debian-pakketten lopen meestal een tot twee hoofdversies achter op de actuele LTS-lijn. Welke versie er bij u klaarligt, ziet u vóór de installatie met:

apt-cache policy nodejs

Stand juli 2026 leveren de pakketbronnen: Debian 13 "Trixie" Node.js 20.19, Debian 12 "Bookworm" Node.js 18.20, Ubuntu 24.04 Node.js 18.19, Ubuntu 22.04 Node.js 12.22. Is dat voor u genoeg, dan bent u hier klaar. Hebt u een actuele LTS-lijn nodig, neem dan variant 2.

Variant 2: Node.js 24 LTS installeren via NodeSource

NodeSource stelt officiële pakketbronnen voor Debian en Ubuntu beschikbaar. Daarmee krijgt u precies de gewenste hoofdversie en blijft u updates via apt ontvangen.

Handtekeningsleutel toevoegen

De vroegere weg via apt-key is vervallen. Sinds Debian 11 horen handtekeningsleutels in een eigen map onder /etc/apt/keyrings/:

mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg

Pakketbron toevoegen en installeren

Voeg daarna de pakketbron toe. Met de variabele legt u de gewenste hoofdversie vast, hier 24:

NODE_MAJOR=24
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list

Voor Node.js 22 zet u in plaats daarvan NODE_MAJOR=22. Daarna volgt de eigenlijke installatie:

apt update
apt install nodejs -y

npm zit al in het NodeSource-pakket. Installeer het Debian-pakket "npm" hier niet extra, anders ontstaat er een pakketconflict.

De korte weg via het setup-script

NodeSource biedt daarnaast een script aan dat de twee bovenstaande stappen samenvat:

curl -fsSL https://deb.nodesource.com/setup_22.x | bash -
apt install nodejs -y

Handig, maar u voert wel een van internet gedownload script met rootrechten uit. Op productieservers is de weg via sleutel en pakketbron de nettere keuze.

Installatie controleren

Vraag tot slot beide versies op:

node --version
npm --version

Verschijnt er bij node een uitvoer die met v22. begint, en bij npm een versienummer, dan is de installatie geslaagd.

Wilt u yarn of pnpm gebruiken: beide kunt u activeren via Corepack, dat in Node.js is inbegrepen, een aparte installatie is niet nodig:

corepack enable

Meerdere Node.js-versies naast elkaar draaien

Draait u op één server meerdere applicaties met uiteenlopende eisen, dan helpt de Node Version Manager (nvm). Die installeert Node.js in de homedirectory van de gebruiker, zodat meerdere versies naast elkaar kunnen draaien en u per project kunt omschakelen.

Na de installatie van nvm (houd u daarbij aan de handleiding van het officiële project) volstaan deze commando's:

nvm install 24
nvm use 24
nvm alias default 24

Belangrijk: nvm hoort altijd bij één enkele gebruiker. Systeemservices die als een andere gebruiker draaien, vinden deze Node.js-installatie niet. Voor services is de pakketinstallatie de betrouwbaardere weg.

Overstappen op een nieuwere versie

Staat er later een overstap naar een nieuwe LTS-lijn op de planning, wijzig dan simpelweg het versienummer in de pakketbron en werk bij:

NODE_MAJOR=24
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list
apt update && apt install nodejs -y

Test uw applicatie na een versiesprong. Tussen twee hoofdversies kunnen interfaces veranderen, en oudere native modules moeten onder omstandigheden opnieuw worden gebouwd.

Veelvoorkomende fouten

  • "E: Unable to locate package nodejs": Na het toevoegen van de pakketbron is apt update vergeten.
  • Pakketconflict tussen nodejs en npm: U hebt het Debian-pakket "npm" naast het NodeSource-pakket geïnstalleerd. Verwijder npm met apt remove npm, de passende versie brengt Node.js zelf mee.
  • "NO_PUBKEY" of "signatures couldn't be verified": De handtekeningsleutel staat niet onder /etc/apt/keyrings/, of de regel in de pakketbron bevat geen passende signed-by-verwijzing.
  • Er wordt nog steeds een oude versie getoond: Op het systeem staan resten van een eerdere installatie. Verwijder oude bestanden onder /etc/apt/sources.list.d/ die naar nodesource verwijzen, en installeer daarna opnieuw.
  • Een npm-pakket breekt af bij het compileren: Voor native modules ontbreken de buildtools. Installeer ze met apt install -y build-essential python3.

Veelgestelde vragen

Welke Node.js-versie moet ik installeren?
Voor nieuwe projecten de actuele LTS-lijn, dus Node.js 22. Node.js 20 is nog steeds veel in gebruik en zinvol wanneer een applicatie precies die versie vereist. Node.js 10 en 12 krijgen al jaren geen beveiligingsupdates meer.
Waarom is de versie uit de Debian-repository zo oud?
Debian bevriest pakketversies op het moment van een release en levert daarna alleen nog beveiligingscorrecties. Hebt u een bepaalde hoofdversie nodig, dan loopt de weg via de NodeSource-pakketbron.
Moet ik npm apart installeren?
Nee. Het pakket van NodeSource bevat npm al. Installeer het Debian-pakket npm er niet extra bij, anders ontstaat er een pakketconflict.
Hoe stap ik later over op een nieuwere versie?
Wijzig het versienummer in de pakketbron onder /etc/apt/sources.list.d/ en voer apt update en apt install nodejs opnieuw uit. Test uw applicatie daarna, want tussen hoofdversies kunnen interfaces veranderen.
Waarom staat de handtekeningsleutel in /etc/apt/keyrings?
Het vroegere commando apt-key is vervallen. Handtekeningsleutels horen sinds Debian 11 in een eigen map en worden via de optie signed-by aan de pakketbron gekoppeld.

Node.js npm NodeSource Debian LTS nvm apt