La retro-compatibilità delle nuove versioni di Node.js è tutt'altro che garantita. Anzi: spesso i progetti realizzati con una specifica versione di Node.js non funzionano correttamente se si prova ad eseguirli con una release più recente o più datata. Questo può costituire un problema per gli sviluppatori che si trovino a lavorare su molteplici applicazioni contemporaneamente, e siano dunque costretti ad utilizzare svariate versioni di Node.js. In questa guida rapida vedremo dunque proprio come raggiungere questo risultato nel modo più semplice e pratico possibile, cioè installare molteplici versioni di Node.js sul PC o sul server, e passare dall'una all'altra facilmente

Node.js: come installare molteplici versioni contemporaneamente stesso PC server (Linux Ubuntu)

La procedura seguente è stata testata su Ubuntu 22.04 e 20.04 (sia "Desktop", sia "Server"), ma è analoga per tutte le distribuzioni derivate (fra le quali "Mint") e, presumibilmente, per le iterazioni successive.

Installare molteplici versioni di Node.js: come funziona

Ci sono svariati modi per installare molteplici versioni di Node.js sul PC.

Quella più citata in rete prevede l'uso di un componente chiamato Node Version Manager (NVM): uno script per shell Linux che installa e gestisce differenti versioni di Node.js modificando il file .bashrc dell'utente. Ma, nella mia prova pratica, NVM si è rilevato inadeguato, principalmente perché è esplicitamente progettato per lavorare "per utente" e non "per sistema". Ne consegue che le versioni di Node.js non sono facilmente condivisibili fra i vari utenti, con tutti i problemi del caso quando si lavora in un ambiente multi-utente.

Nel mio caso, ho invece raggiunto risultati ottimali con il pacchetto Node.js chiamato semplicemente "n": un applicativo basato su Node che funziona a livello di sistema, e sul quale ho basato la presente guida

Node.js: come installare molteplici versioni contemporaneamente stesso PC server (Linux Ubuntu)

Nel prosieguo vedremo dunque proprio come installare e gestire molteplici versioni di Node.js sullo stesso PC o server tramite "n".

Chiaramente, ogni volta che si installa un nuovo pacchetto Node.js (o, in generale, qualsiasi software!) è importante verificare se sia sicuro. Ebbene: dalle verifiche che ho effettuato, "n" scarica solamente componenti dal sito ufficiale nodejs.org, ed è raccomandato anche dagli sviluppatori di Node.js stessi. Inoltre, il progetto ha oltre 17 mila "stelle" su GitHub, segnale secondario di una certa affidabilità.

Installare molteplici versioni di Node.js su Ubuntu: Aprire il Terminale

Se stai lavorando via SSH oppure su Ubuntu Server sei già davanti alla linea di comando, quindi prosegui oltre.

Se però ti trovi in un ambiente grafico, devi avviare il Terminale: il mio metodo preferito è tramite la combinazione da tastiera Ctrl+Alt+T. In alternativa:

  1. clicca sul pulsante con i 3x3 punti in basso a sinistra
  2. digita terminale
  3. clicca sul collegamento mostrato

Node.js: come installare molteplici versioni contemporaneamente stesso PC server (Linux Ubuntu) - linux apri terminale

» Leggi anche: Come aprire il terminale di Ubuntu

Installare molteplici versioni di Node.js su Ubuntu: Installare Node.js e "n" automaticamente

Per utilizzare molteplici versioni di Node.js e passare dall'una all'altra tramite "n" devi innanzitutto.... installare Node.js (la versione qui non importa) e "n". Allo scopo, la mia raccomandazione è di utilizzare lo script automatico che ho preparato e che installa Node.js, npm e "n" automaticamente, in un colpo solo. Il comando è da impartire è:

sudo apt install curl -y && curl -s https://raw.githubusercontent.com/TurboLabIt/webstackup/master/script/node.js/install.sh?$(date +%s) | sudo bash

Node.js: come installare molteplici versioni contemporaneamente stesso PC server (Linux Ubuntu)

Nota che lo script prevede l'uso di una variabile (NODEJS_VER=) che consente di attivare già una specifica versione di Node.js. Valuta se ti fa comodo valorizzarla subito o meno. In ogni caso, potrai facilmente saltare da una versione di Node.js all'altra anche in seguito.

Per maggiori informazioni, fai riferimento alla guida dedicata:

» Leggi: Come installare Node.js e npm su Ubuntu (nuove versioni) - La Guida Definitiva

Node.js: come installare molteplici versioni contemporaneamente stesso PC server (Linux Ubuntu)

Se non vuoi usare lo script automatico, puoi anche valutare di installare Node.js manualmente. Fai riferimento alla medesima guida per le istruzioni passo per passo.

Anche se già hai installato Node.js, puoi usare comunque lo script automatico: la versione corrente verrà rimossa, per poi essere reinstallata insieme a "n" e a tutti gli strumenti di supporto.

Se hai usato lo script automatico, è già tutto pronto: puoi saltare direttamente al Passo Visualizzare le versioni di Node.js disponibili (più avanti) per la semplicissima procedura da utilizzare per invocare "n" e passare da una versione di Node.js all'altra.

Installare molteplici versioni di Node.js su Ubuntu: Installare "n" manualmente

La procedura tramite script appena ricordata installa Node.js e "n" automaticamente ed è la modalità che, personalmente, raccomando. Se però hai già installato Node.js e npm e preferisci installare il pacchetto "n" manualmente, impartisci il seguente comando:

sudo npm install -g n

Node.js: come installare molteplici versioni contemporaneamente stesso PC server (Linux Ubuntu)

Installare molteplici versioni di Node.js su Ubuntu: Visualizzare le versioni di Node.js disponibili

Una volta installato Node.js e "n", puoi procedere a visualizzare tutte le versioni di Node.js disponibili per il download impartendo questo comando:

n ls-remote --all

Node.js: come installare molteplici versioni contemporaneamente stesso PC server (Linux Ubuntu)

Sì, sono moltissime!

Installare molteplici versioni di Node.js su Ubuntu: Passare da una versione di Node.js all'altra

Ogni versione di Node.js che vedi nella lista precedente può essere facilmente installata e attivata tramite un singolo comando. Ma prima assicurati di visualizzare la versione di Node.js attualmente in uso impartendo

node --version

Node.js: come installare molteplici versioni contemporaneamente stesso PC server (Linux Ubuntu)

Ora puoi installare una versione di Node.js specifica in questo modo:

sudo n 10.16.3

La primissima volta che usi il comando è inoltre indispensabile eseguire il "refresh" della shell, di modo che recepisca il cambio di percorso dell'eseguibile. Il comando è:

hash -r

Questo refresh è necessario, ripeto, solo la primissima volta.

Puoi utilizzare "n" per installare molteplici versioni contemporaneamente. Se non ti interessa essere così specifico e vuoi soltanto "l'ultima build" di uno specifico ramo di sviluppo puoi lanciare:

sudo n 11

Ogni volta che installi una nuova versione, valuta di impartire nuovamente node --version per sincerarti che sia già stata attivata come ci aspettiamo

Node.js: come installare molteplici versioni contemporaneamente stesso PC server (Linux Ubuntu)

La prima volta che installerai una determinata versione sarà necessario attendere qualche istante per lo scaricamento. Successivamente, però, potrai saltare fra le varie versioni già installate istantaneamente

Node.js: come installare molteplici versioni contemporaneamente stesso PC server (Linux Ubuntu)

Conclusioni

In questa guida abbiamo visto come installare molteplici versioni di Node.js sullo stesso PC o server. Ho avvertito questa necessità in prima persona perché, lavorando su molteplici progetti realizzati da persone diverse e in anni diversi, richiedono versioni di Node.js differenti e incompatibili le une con le altre. Fortunatamente, il pacchetto "n" funziona veramente molto bene, e consente di raggiungere il risultato in modo pratico ed efficiente.