Installare Node.js e npm su Debian
Node.js 10 e 12 sono da tempo senza supporto. Ecco come installi la versione LTS attuale insieme a npm su Debian, tramite NodeSource con chiave di firma in /etc/apt/keyrings.
Node.js è l'ambiente di runtime dietro innumerevoli applicazioni web, API e bot Discord. Su un server tuo lo installi in pochi minuti. In questa guida configuri Node.js insieme a npm su Debian 13, Debian 12 e Debian 11. Su Ubuntu valgono gli stessi comandi.
La cosa importante è scegliere la versione giusta. Le guide un tempo diffuse per Node.js 10 e Node.js 12 sono superate: entrambe le versioni non ricevono aggiornamenti di sicurezza da anni e non dovrebbero più girare su nessun server.
Quale versione di Node.js conviene installare?
Node.js esce due volte all'anno in una nuova versione principale. Solo i numeri di versione pari diventano una linea LTS (Long Term Support) e vengono poi mantenuti per circa tre anni. Le versioni dispari sono linee di sviluppo di breve durata e non sono pensate per i sistemi in produzione.
- Node.js 24 LTS ("Krypton"): la scelta consigliata per i nuovi progetti e per i server in produzione.
- Node.js 22 LTS: ancora molto diffusa, sensata se un'applicazione richiede espressamente questa versione.
- Node.js 10 e 12: senza supporto rispettivamente dal 2021 e dal 2022. Da non usare più.
Nel dubbio controlla le indicazioni della tua applicazione. Molti progetti dichiarano la versione richiesta nel campo "engines" del loro file package.json.
Requisiti
- Accesso root al tuo VPS oppure al tuo server root tramite SSH.
- Un Debian aggiornato. Porta prima il sistema all'ultimo stato:
apt update && apt upgrade -y
Per aggiungere il repository ti servono inoltre alcuni strumenti standard:
apt install -y ca-certificates curl gnupg
Variante 1: Node.js dai repository Debian
La strada più semplice passa dai repository già inclusi nella distribuzione:
apt install nodejs npm -y
Il vantaggio: gli aggiornamenti arrivano automaticamente insieme al resto degli aggiornamenti di sistema. Lo svantaggio: i pacchetti Debian sono di solito una o due versioni principali indietro rispetto alla linea LTS attuale. Quale versione è disponibile sul tuo sistema lo vedi prima dell'installazione con:
apt-cache policy nodejs
A luglio 2026 i repository forniscono: 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. Se ti basta, hai già finito. Se invece ti serve una linea LTS attuale, usa la variante 2.
Variante 2: installare Node.js 24 LTS tramite NodeSource
NodeSource mette a disposizione repository ufficiali per Debian e Ubuntu. Così ottieni esattamente la versione principale che vuoi e continui a ricevere gli aggiornamenti tramite apt.
Registrare la chiave di firma
La vecchia strada con apt-key non esiste più. Da Debian 11 le chiavi di firma vanno in una directory dedicata sotto /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
Aggiungere il repository e installare
Registra poi il repository. Con la variabile stabilisci la versione principale desiderata, qui la 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
Per Node.js 22 imposta invece NODE_MAJOR=22. Segue poi l'installazione vera e propria:
apt update
apt install nodejs -y
npm è già contenuto nel pacchetto NodeSource. Non installare qui anche il pacchetto Debian "npm", altrimenti nasce un conflitto tra pacchetti.
La via breve con lo script di setup
NodeSource offre in più uno script che riunisce i due passaggi appena descritti:
curl -fsSL https://deb.nodesource.com/setup_22.x | bash -
apt install nodejs -y
Comodo, però esegui con i permessi di root uno script scaricato dalla rete. Sui server in produzione la strada con chiave di firma e repository resta la scelta più pulita.
Verificare l'installazione
Per concludere interroga entrambe le versioni:
node --version
npm --version
Se node restituisce un output che inizia con v22. e npm un numero di versione, l'installazione è riuscita.
Se vuoi usare yarn oppure pnpm: entrambi si attivano tramite Corepack, che è già incluso in Node.js, quindi non serve un'installazione separata:
corepack enable
Usare più versioni di Node.js in parallelo
Se su un server fai girare più applicazioni con requisiti diversi, ti aiuta il Node Version Manager (nvm). Installa Node.js nella directory dell'utente, così più versioni convivono una accanto all'altra e puoi passare dall'una all'altra progetto per progetto.
Dopo l'installazione di nvm (segui la guida del progetto ufficiale) bastano questi comandi:
nvm install 24
nvm use 24
nvm alias default 24
Importante: nvm appartiene sempre a un singolo utente. I servizi di sistema che girano con un altro utente non trovano questa installazione di Node.js. Per i servizi l'installazione da pacchetto è la strada più affidabile.
Passare a una versione più recente
Se più avanti hai bisogno di una nuova linea LTS, ti basta cambiare il numero di versione nel repository e aggiornare:
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
Dopo un salto di versione prova la tua applicazione. Tra due versioni principali le interfacce possono cambiare e i moduli nativi più vecchi vanno in certi casi ricompilati.
Errori frequenti
- "E: Unable to locate package nodejs": dopo aver aggiunto il repository ti sei dimenticato di
apt update. - Conflitto di pacchetti tra nodejs e npm: hai installato il pacchetto Debian "npm" accanto a quello di NodeSource. Rimuovi npm con
apt remove npm, la versione adatta se la porta dietro Node.js stesso. - "NO_PUBKEY" oppure "signatures couldn't be verified": la chiave di firma non si trova sotto
/etc/apt/keyrings/, oppure la riga del repository non contiene un riferimentosigned-bycorretto. - Viene ancora mostrata una versione vecchia: sul sistema sono rimasti i resti di un'installazione precedente. Cancella i vecchi file sotto
/etc/apt/sources.list.d/che rimandano a nodesource, poi installa di nuovo. - Un pacchetto npm si interrompe durante la compilazione: per i moduli nativi mancano gli strumenti di build. Installali con
apt install -y build-essential python3.
Domande frequenti
Quale versione di Node.js conviene installare?
Perché la versione del repository Debian è così vecchia?
Devo installare npm separatamente?
Come passo più avanti a una versione più recente?
Perché la chiave di firma sta sotto /etc/apt/keyrings?
2022-2026 KernelHost GmbH. Tutti i diritti riservati. Questa guida è protetta dal diritto d'autore. La ripubblicazione su altri siti web, anche parziale o in forma modificata, non è consentita senza il nostro consenso scritto. Le citazioni con indicazione della fonte e un link sono le benvenute.

