Come aggiornare correttamente il nodo usando nvm


231

È possibile eseguire l'aggiornamento nodedirettamente anziché installare manualmente l'ultima versione stabile?

Ho installato la versione node.js5.0 con nvm, ma ora voglio aggiornarlo 5.4. Sto cercando di evitare di dover reinstallare manualmente tutti i miei pacchetti globali ( ad esempio eseguendo npm install -g grunt-cli bower yo yoman-angular-generator blabla blablablabla...).

Risposte:


328

Questo potrebbe funzionare:

nvm install NEW_VERSION --reinstall-packages-from=OLD_VERSION

Per esempio:

nvm install 6.7 --reinstall-packages-from=6.4

quindi, se lo desideri, puoi eliminare la versione precedente con:

nvm uninstall OLD_VERSION

Dove, nel tuo caso, NEW_VERSION = 5.4 OLD_VERSION = 5.0

In alternativa, prova:

nvm install stable

1
dose usando nvm install stablerimuovere tutti i pacchetti installati incluso il nodo installato invece aggiornandoli?
Syed

1
in realtà, questo non funziona più. Si è verificato un problema con npm: github.com/creationix/nvm/issues/811
jhuesos

5
Da nvm ls-remotepuoi vedere tutte le versioni.
Daniel,

7
Questo funziona per me: nvm install node --reinstall-packages-from=$(nvm current). Ciò aggiornerà Node.js all'ultima versione e reinstallerà i pacchetti globali npm da qualunque versione precedente.
cyfrost,

Se non si riesce a disinstallare, utilizzare nvm deactivatee riprovare.
izilotti,

185

Puoi semplicemente eseguire uno dei seguenti comandi:

Ultima versione : Versione
nvm install node --reinstall-packages-from=node
stabile (LTS) :
nvm install lts/* --reinstall-packages-from=node

Ciò installerà la versione appropriata e reinstallerà tutti i pacchetti dalla versione del nodo attualmente utilizzata. Questo ti evita di gestire manualmente le versioni specifiche.

Modifica: aggiunto il comando per l'installazione della versione LTS secondo il commento di @ m4js7er.


20
Se si desidera aggiornare all'ultima versione stabile (LTS - raccomandata per la maggior parte degli utenti), allora si dovrebbe eseguire: nvm install lts/* --reinstall-packages-from=node. Dopodiché puoi ripulire le tue versioni con nvm uninstall [old version]. Puoi elencare tutte le versioni installate con nvm ls.
m4js7er,

Pensaci bene prima di farlo --reinstall-packages-from=nodePuoi usare diversi ambienti globali per le versioni 6, 8 e 10.
contributorpw

1
Ho legato il comando nvm install lts/* --reinstall-packages-from=nodema mi ha dato un errore dicendo Version 'lts/*' not found - try 'nvm ls-remote' to browse available versions.che sto usando NVM versione 0.30.1, forse il mio NVM è troppo vecchio. Finisco per sostituirlo manualmente lts/*con 10.15.2/*per farlo funzionare.
Zhang,

16

DUE soluzioni semplici:

Per installare la versione più recente del nodo e reinstallare i pacchetti della versione precedente, basta eseguire il comando seguente.

nvm install node --reinstall-packages-from=node

Per installare la versione più recente lts(supporto a lungo termine) del nodo e reinstallare i pacchetti della versione precedente, basta eseguire il comando seguente.

nvm install --lts /* --reinstall-packages-from=node

Ecco una GIF per supportare questa risposta. NVM


Non riesco a farlo funzionare - ho appena ricevutoIf --reinstall-packages-from is provided, it must point to an installed version of node.
wickywills il

@wickywills "nodo: questo installa l'ultima versione del nodo" forse avevi installato LTS o una versione specifica e quindi nodenon puntava all'ultima versione installata. Oppure devi aggiornare nvm.
iBaff,

10

se hai 4.2 e vuoi installare 5.0.0 allora

nvm install v5.0.0 --reinstall-packages-from=4.2

la risposta di gabrielperales è corretta, tranne per il fatto che alla fine ha perso il segno "=". se non si inserisce il segno "=", verrà installata la nuova versione del nodo ma i pacchetti non verranno installati.

fonte: sitepoint


2

Node.JS per installare una nuova versione.

Passaggio 1: installazione NVM

npm i -g nvm

Passaggio 2: NODE Installazione della versione più recente

nvm install *.*.*(NodeVersion)

Passaggio 3: versione del nodo selezionato

nvm use *.*.*(NodeVersion)

finire


0

Bash alias per l'aggiornamento della versione attiva corrente:

alias nodeupdate='nvm install $(nvm current | sed -rn "s/v([[:digit:]]+).*/\1/p") --reinstall-packages-from=$(nvm current)'

La parte sed -rn "s/v([[:digit:]]+).*/\1/p"trasforma l'output da in nvm currentmodo che venga restituita solo una versione principale del nodo, ovvero: v13.5.0-> 13.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.