2015-09-18 10 views
28

I so npm è il gestore pacchetti e nvm è il gestore versione nodo. Attualmente sto cercando di installare automaticamente il mio ambiente di sviluppo e produzione usando Bash e ho dimenticato come sono partito e in che ordine. Dopo aver installato npm, ho trovato che il nostro nvm non è stato installato.Differenza tra NPM e NVM

Devo ancora installare nvm? Se sì, qual è il vantaggio?

+3

nvm installa il nodo che installa npm. Se non hai bisogno/vuoi passare tra le versioni di Node allora probabilmente non hai bisogno di nvm. –

risposta

9

nvm come hai detto è un gestore di versioni "attivo" nodejs. Puoi avere più versioni di nodo sulla stessa macchina e passare facendo "nvm use version". npm rispetta nvm se è presente sulla macchina, cioè se hai 0.12.7 attivo e fai npm install -g uuid, lo installerà globalmente sotto 0.12.7 ma se passi a 4.0.0, uuid non sarà più disponibile a livello globale.

In ogni caso non è necessario nvm per installare pacchetti.

+0

quale versione viene fornita con nvm per favore per impostazione predefinita? – JohnTheBeloved

+0

@JohnTheBeloved: Nessuno. nvm punta alla versione del tuo sistema operativo per impostazione predefinita. –

+1

@FelixKling ha ragione. Puoi fare "nvm ls" per vedere le versioni usate da nvm e anche "node -v" per vedere il nodo attualmente attivo. – masimplo

35

nvm (Node Version Manager) è uno strumento che consente di scaricare e installare Node.js. Controlla se lo hai installato tramite nvm --version.

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

npm (Node Package Manager) è uno strumento che consente di installare i pacchetti javascript. Controlla se lo hai installato tramite npm --version.

npm viene fornito con Node.js, quindi se è stato installato il nodo (node --version) è probabile che sia installato anche npm.

Non è necessario nvm a meno che non si desideri mantenere più versioni di Node.js installate sul sistema o se si desidera aggiornare la versione corrente.

+0

il che significa che posso usare 'nvm install watchman' invece di' npm install watchman' perché non voglio cambiare le versioni di npm – AVI

+0

@JokerFan Questo non è esattamente vero. Non è possibile eseguire 'nvm install watchman'. Quando cambi la tua versione di 'node' con' nvm' cambia anche la versione di 'npm'. – ThomasReggi

+1

Ha senso avere più versioni di Node.js sul sistema? –