Questa guida ti offre una breve introduzione a "n" , uno strumento di gestione delle versioni dei nodi non ufficiale e poi spiega come gestire facilmente le versioni di nodejs con n nei sistemi operativi Linux.
Cos'è n, il gestore della versione del nodo?
NodeJS non ha bisogno di presentazioni. Nodejs è un ambiente di runtime per JavaScript basato sul motore V8 di Google. Nodejs viene fornito con un gestore di pacchetti integrato chiamato npm
per installare e gestire le versioni dei nodi e ci sono anche molti strumenti di terze parti per gestire le versioni dei nodi. n è uno degli strumenti di gestione della versione del nodo di terze parti. Sì, è solo una singola lettera - n.
Le n è un gestore di versioni di nodi interattivo per gestire facilmente una o più versioni di NodeJS! Nessuna subshell, nessuna configurazione del profilo, nessuna API contorta, nessuna curva di apprendimento, è solo semplice attrezzo. È solo uno script di shell e il suo codice è disponibile gratuitamente in GitHub.
1. Installa n in Linux
Il modo più semplice per installare n è tramite npm
. Come già affermato, Npm è il gestore di pacchetti integrato per Nodejs e viene preinstallato con Nodejs.
Presumo che tu abbia già gli ultimi Nodejs sulla tua macchina Linux. Se non hai ancora installato NodeJS, fai riferimento alla seguente guida:
- Come installare NodeJS su Linux
Quindi, esegui il seguente comando per installare n in Linux:
$ npm install -g n
Se npm non è disponibile o non vuoi installare n con npm, puoi prendere direttamente lo script n da GitHub e installarlo come di seguito:
$ curl -L https://raw.githubusercontent.com/tj/n/master/bin/n -o n
$ bash n lts
Questo installerà entrambi i node
la sua versione e npm
.
1.2. Crea directory home per l'installazione del nodo
Per impostazione predefinita, n installa node
in n/versions
sottodirectory di /usr/local/
directory, che è definita in N_PREFIX
variabile d'ambiente. Come già sai, abbiamo bisogno di sudo
autorizzazione per installare il nodo in /usr/local/n/versions/node/
directory. Per evitare di usare sudo
, puoi creare una directory dedicata per l'installazione del nodo nella tua $HOME e aggiungerla al tuo PATH
.
Per creare una directory home per l'installazione del nodo, modifica il file del tuo profilo utente, ad esempio ~/.bashrc
:
$ vi ~/.bashrc
Aggiungi le seguenti righe:
export N_PREFIX=$HOME/.n
export PATH=$N_PREFIX/bin:$PATH
Premi ESC
digitare e digitare :wq
per salvare il file ed uscire.
1.3. Installa n con n-install script
L'altro modo per installare n è tramite n-install script, che installa n direttamente da GitHub.
$ curl -L https://git.io/n-install | bash
Questo comando eseguirà il seguente insieme di attività:
- In primo luogo, imposta entrambi i
PREFIX
eN_PREFIX
a$HOME/n
; - E, installa
n
a$HOME/n/bin
; - Successivamente, modifica i file di inizializzazione delle shell supportate per esportare
N_PREFIX
; - Quindi, aggiungi
$HOME/n/bin
alPATH
; - Infine, installa l'ultima versione di LTS Node.js.
2. Gestisci le versioni di nodejs con n in Linux
Installare e gestire le versioni di nodejs con n è piuttosto semplice! Vediamo alcuni esempi.
2.1. Ottenere aiuto
Se non conosci n, probabilmente è una buona idea aprire la sezione della guida e imparare a usare n.
Per visualizzare la sezione di aiuto di n, esegui semplicemente:
$ n --help
Consulta il manuale di aiuto per dare un'occhiata all'utilizzo di ciascun comando.
Usage: n [options] [COMMAND] [args]
Commands:
n Display downloaded Node.js versions and install selection
n latest Install the latest Node.js release (downloading if necessary)
n lts Install the latest LTS Node.js release (downloading if necessary)
n Install Node.js (downloading if necessary)
n install Install Node.js (downloading if necessary)
n run [args …] Execute downloaded Node.js with [args …]
n run [args …] Execute downloaded node with [args …]
n which Output path for downloaded node
n exec [args…] Execute command with modified PATH, so downloaded node and npm first
n rm Remove the given downloaded version(s)
n prune Remove all downloaded versions except the installed version
n --latest Output the latest Node.js version available
n --lts Output the latest LTS Node.js version available
n ls Output downloaded versions
n ls-remote [version] Output matching versions available for download
n uninstall Remove the installed Node.js
Options:
-V, --version Output version of n
-h, --help Display help information
-p, --preserve Preserve npm and npx during install of Node.js
-q, --quiet Disable curl output (if available)
-d, --download Download only
-a, --arch Override system architecture
--all ls-remote displays all matches instead of last 20
--insecure Turn off certificate checking for https requests (may be needed from behind a proxy server)
--use-xz/--no-use-xz Override automatic detection of xz support and enable/disable use of xz compressed node downloads.
Aliases:
install: i
latest: current
ls: list
lsr: ls-remote
lts: stable
rm: -
run: use, as
which: bin
Versions:
Numeric version numbers can be complete or incomplete, with an optional leading 'v'.
Versions can also be specified by label, or codename,
and other downloadable releases by /
4.9.1, 8, v6.1 Numeric versions lts Newest Long Term Support official release latest, current Newest official release auto Read version from file: .n-node-version, .node-version, .nvmrc, or package.json engine Read version from package.json boron, carbon Codenames for release streams lts_latest Node.js support aliases and nightly, rc/10 et al
2.2. Installa le versioni di Nodejs usando n
Per installare l'ultima versione di nodejs con n
, esegui semplicemente:
$ n latest
Risultato di esempio:
installing : node-v16.2.0 mkdir : /home/ostechnix/.n/n/versions/node/16.2.0 fetch : https://nodejs.org/dist/v16.2.0/node-v16.2.0-linux-x64.tar.xz installed : v16.2.0 (with npm 7.13.0) Note: the node command changed location and the old location may be remembered in your current shell. old : /home/ostechnix/.nvm/versions/node/v16.1.0/bin/node new : /home/ostechnix/.n/bin/node To reset the command location hash either start a new shell, or execute PATH="$PATH"
La vecchia versione del nodo verrà spostata nella nuova posizione, ad esempio /home/ostechnix/.n/bin/node
nel mio caso. Apri una nuova sessione della shell o riavvia la sessione Terminale per utilizzare la versione del nodo dalla nuova posizione.
Controlla la versione del nodo installato:
$ node --version v16.2.0
Controlla la versione npm:
$ npm -v 7.13.0
Allo stesso modo, puoi installare una versione del nodo LTS utilizzando n come di seguito:
$ n lts
Risultato di esempio:
installing : node-v14.17.0 mkdir : /home/ostechnix/.n/n/versions/node/14.17.0 fetch : https://nodejs.org/dist/v14.17.0/node-v14.17.0-linux-x64.tar.xz installed : v14.17.0 (with npm 6.14.13)
Puoi anche installare una versione specifica di Nodejs, ad esempio 16.0.0
, utilizzando il comando:
$ n 16.0.0
Come avrai notato, n crea directory separate per ciascuna versione del nodo. Ad esempio, crea /home/ostechnix/.n/n/versions/node/16.2.0
directory per l'ultima versione del nodo, n/versions/node/14.17.0
per la versione LTS del nodo e n/versions/node/16.0.0
per la versione del nodo 16.0.0. In questo modo ogni versione non viene mescolata tra loro e possiamo passare a qualsiasi versione in qualsiasi momento.
2.3. Scarica le versioni di Nodejs, ma non installarle
Se non vuoi installare una versione di Nodejs, ma vuoi solo scaricarla, usa -d
, --download
opzione:
$ n -d 15.8.0
Questo comando scaricherà solo la versione 15.8.0 del nodo, ma non la installerà.
Risultato di esempio:
installing : node-v15.8.0 mkdir : /home/ostechnix/.n/n/versions/node/15.8.0 fetch : https://nodejs.org/dist/v15.8.0/node-v15.8.0-linux-x64.tar.xz
2.4. Elenca le versioni di Nodejs scaricate localmente
Per visualizzare tutte le versioni di Nodejs scaricate nella cache locale, esegui semplicemente:
$ n ls
Oppure,
$ n list
Risultato di esempio:
node/14.17.0 node/15.8.0 node/16.0.0 node/16.2.0
2.5. Elenca le versioni Nodejs disponibili dal repository remoto
Possiamo usare ls-remote
opzione per visualizzare le 20 versioni recenti di Nodejs dal registro npm .
$ n ls-remote
Oppure,
$ n lsr
Risultato di esempio:
Listing remote… Displaying 20 matches (use --all to see all). 16.2.0 16.1.0 16.0.0 15.14.0 15.13.0 15.12.0 15.11.0 15.10.0 15.9.0 15.8.0 15.7.0 15.6.0 15.5.1 15.5.0 15.4.0 15.3.0 15.2.1 15.2.0 15.1.0 15.0.1
La versione più recente verrà mostrata in alto.
Per impostazione predefinita, elenca 20 versioni. Puoi anche visualizzare un certo numero di versioni dei nodi.
$ n lsr 10
Per elencare tutte le versioni di nodejs disponibili, usa --all
opzione.
$ n ls-remote --all
2.6. Visualizza il percorso della versione di Nodejs scaricata
Per stampare il percorso completo di una specifica versione del nodo scaricato, eseguire:
$ n which node/16.2.0
Risultato di esempio:
/home/ostechnix/.n/n/versions/node/16.2.0/bin/node
2.7. Cambia versioni di Nodejs
L'ultima versione installata sarà la versione del nodo predefinita. Se vuoi passare a una versione diversa, digita n
e scegli una versione dall'elenco delle versioni del nodo scaricate.
$ n
Questo comando visualizzerà tutte le versioni di nodejs scaricate. Puoi scegliere la versione richiesta usando le frecce su/giù e premere il tasto INVIO per installarla.
node/14.17.0 node/15.8.0 ο node/16.0.0 node/16.2.0 Use up/down arrow keys to select a version, return key to install, d to delete, q to quit
La versione predefinita è indicata da un piccolo cerchio davanti.
Se non desideri una versione specifica di nodejs scaricata, sceglila e premi d
per eliminarlo. Per uscire, premi q
.
2.8. Esegui la versione di Nodejs scaricata
Come già affermato, l'ultima versione installata è la versione del nodo predefinita. Se vuoi eseguire una versione diversa senza impostarla come predefinita, puoi usare questo comando:
$ n run 15.8.0
Risultato di esempio:
Welcome to Node.js v15.8.0. Type ".help" for more information. >
Premi Ctrl+D
oppure digita .exit
per uscire dal prompt del nodo.
2.9. Rimuovi le versioni di Nodejs scaricate
Elenca quante versioni dei nodi vengono scaricate con il comando:
$ n ls
Per rimuovere una versione specifica, menziona il suo numero di versione come di seguito:
$ n rm node/16.0.0
In alternativa, digita n
per visualizzare le versioni dei nodi disponibili:
$ n
Seleziona la versione che desideri rimuovere utilizzando le frecce su/giù e premi d
per eliminarlo. È necessario prestare attenzione durante l'eliminazione di una versione del nodo. Perché non ti verrà chiesto di confermare l'eliminazione. Dopo aver premuto il d
chiave la versione selezionata sparirà.
Per rimuovere tutte le versioni scaricate eccetto quella installata, esegui:
$ n prune
Per rimuovere completamente la versione di Nodejs installata, esegui:
$ n uninstall
Ti verrà chiesto se desideri eliminare sia Node che Npm dal tuo sistema. Digita y
e premi ENTER
chiave per rimuovere completamente il node
e npm
installato da n
dal tuo sistema.
Do you wish to delete node and npm from /home/ostechnix/.n? y Uninstalling node and npm /home/ostechnix/.n/bin/node /home/ostechnix/.n/bin/npm /home/ostechnix/.n/bin/npx /home/ostechnix/.n/include/node /home/ostechnix/.n/lib/node_modules/npm /home/ostechnix/.n/share/doc/node /home/ostechnix/.n/share/man/man1/node.1 /home/ostechnix/.n/share/systemtap/tapset/node.stp
Tuttavia, ciò non rimuoverà la versione del nodo installata utilizzando NVM o il gestore di pacchetti delle distribuzioni. Rimuoverà solo le versioni del nodo installate con n.
Conclusione
Lo script n sarà utile quando si desidera utilizzare versioni di Nodejs diverse per progetti diversi. Non è necessario rimuovere una versione di Nodejs e installarne un'altra per ogni progetto. Puoi installare più versioni di Nodejs e passare istantaneamente da una versione di Nodejs a un'altra.