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
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
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:
- clicca sul pulsante con i 3x3 punti in basso a sinistra
- digita
terminale
- clicca sul collegamento mostrato
» 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
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
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
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
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
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
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
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.