Site icon Tosolini.info

Ubuntu 18.04: installare Node.js

Ok, se siete arrivati su questa pagina per puro caso potrà sembrare strana la presenza di questo articolo. In fondo per installare qualcosa su Ubuntu basta il classico comando apt install nome del pacchetto.

E questo non sfugge nemmeno a Nodejs, infatti se nella Ubuntu 18.04 LTS server date il comando:

apt install nodejs

Questo verrà prontamente installato con tutte le dipendenze del caso. C’è però un problema, come per altre situazioni simili il repository ufficiale ha congelato il software ad una certa versione. In questo caso alla versione 8.10 di Nodejs, e non ci sarà verso di poter vedere ulteriori salti in avanti, a meno che non si avanzi anche con la versione del sistema operativo medesimo.

Per far comprendere, al momento in cui scrivo la versione Node del ramo 8  è la 8.12, senza contare che è presente il ramo 10, sebbene abbia un ciclo di  vita più breve.

Tra 8.10 e 8.12 non dovrebbe passare molta differenza, però ci sono progetti che si tengono al passo con i tempi e fissano all’ultima versione stabile il minimo di base. In questa situazione il repository di Canonical non ci è per nulla d’aiuto.

Rimuovere Node da apt.

Chiaramente se siete arrivati qui è probabile che abbiate già installato Node attraverso il PPA di Canonical, quindi per utilizzare quando andremo ad esporre in questo post è meglio rimuovere la versione installata e lo faremo con tre comandi:

sudo apt remove nodejs
sudo apt purge nodejs
sudo apt autoremove

Node Version Manager

Chiaramente si possono cercare altri PPA (personal package archive) di cui ci possiamo fidare, oppure possiamo rivolgersi al progetto NVM, ovvero Node Version Manager il cui scopo non è solo quello di installare l’ultima versione, ma di poter gestire più versioni. Nel terminale daremo questo comando:

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash

A video vedremo scaricare ed applicare il file install.sh e ci verrà riportato di copiare ed incollare il seguente comando:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"

A questo punto dovremo essere già a posto, ma nella documentazione viene riportato di dare anche il comando:

command -v nvm

Lo diamo, e a questo punto siamo realmente pronti per partire. Infatti ora abbiamo il comando nvm nella shell. Ad esempio possiamo scoprire quale è la versione ultima disponibile e attualmente in distribuzione di Node con:

user@user:~$ nvm ls-remote | grep -i latest
         v4.9.1   (Latest LTS: Argon)
        v6.14.4   (Latest LTS: Boron)
        v8.12.0   (Latest LTS: Carbon)

Come si vede vengono riportate le varie ultime LTS per ramo, nel nostro caso ci interesserà la 8.12.0 che potremo installare con il comando:

user@user:~$ nvm install 8.12.0
Downloading and installing node v8.12.0...
Downloading https://nodejs.org/dist/v8.12.0/node-v8.12.0-linux-x64.tar.xz...
##################################################################################################################################### 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v8.12.0 (npm v6.4.1)
Creating default alias: default -> 8.12.0 (-> v8.12.0)
user@user:~$ node -v
v8.12.0
user@user:~$ npm -v
6.4.1

Come si evince dall’esempio soprastante, il comando ha installato la versione che desideravo e alla fine ho verificato l’effettiva funzionalità sia di Node che di Npm. Come anticipato in precedenza potremo utilizzare più versioni di Node,  ma chiaramente non in concomitanza, bensì una alla volta. Infatti con il comando nvm install potremo caricare più versioni, ma poi solo una funzionerà per default, generalmente quella più nuova. Per richiamare una versione più vecchia o differente utilizzeremo il comando:

nvm use 8.10.1

Questo passerà dalla versione attuale a quella esplicitamente indicata. E’ possibile tuttavia utilizzare una versione differente in modalità run, che lancia un javascript già noto in precedenza con la versione desiderata, ad esempio:

nvm run 8.10.1 /path/mio-javascript.js

Per cambiare il default di una versione con un altra, ad esempio dopo un upgrade di versione il nostro software non funziona come dovrebbe, possiamo riportarci velocemente alla versione XY con il comando:

nvm alias default 8.10.1

In questo caso se avete dei pacchetti di NPM installati in modalità globale (con l’opzione -g), cosa che sconsiglio sempre, dovrete installarla nuovamente per la nuova release poiché esse sono installate su una directory di NVM che riporta in modo specifico la versione.

Se ci perdiamo con il numero di versioni installate potremo vedere la situazione con il comando:

nvm ls

che ci mostrerà numero e versioni di node installati.

Conclusioni

Per ultimo cito il comando nvm help dove dare uno sguardo ad altre opzioni magari meno importanti ma forse utili in situazioni particolari. Sicuramente se avete un server questa soluzione è la migliore al momento per gestire il turn over piuttosto rapido di Nodejs ed eventualmente anche tornare indietro nel caso qualcosa non andasse per il verso giusto con i vostri applicativi.

Exit mobile version