2015-01-14 14 views
6

C'è un modo per annullare il comando npm update? Ho eseguito il comando e ora ho un sacco di dipendenze non soddisfatte e alcuni errori.Come annullare l'aggiornamento di npm?

Sto tentando di reinstallare e correggere manualmente tutti gli errori ma qualcuno sa come ripristinare sostanzialmente un npm update?

+1

Correlati: [Perché npm installa dire che ho dipendenze non soddisfatte?] (Http://stackoverflow.com/questions/20764881/why-does-npm-install-say-i-have-unmet-dependencies) –

+0

@ JonathanLonowski Grazie In realtà ho finito per fare la soluzione suggerita in quella domanda. Vorrei averlo visto prima. – aug

risposta

5

È possibile ripristinare il file package.json allo stato precedente (si spera che lo si abbia ancora o almeno di ricordare quello che è stato modificato), quindi eseguire un altro npm update.

[UPDATE]

Tuttavia, in generale, questa tecnica non garantisce che l'intero albero delle dipendenze verrà ripristinato al suo stato esatto (dal momento che i file package.json in un albero delle dipendenze spesso vagamente specificare le versioni di dipendenza).

Se è necessario per garantire che albero delle dipendenze del pacchetto può essere ripristinato esattamente, è necessario usare qualcosa come npm shrinkwrap a "bloccare" le versioni di dipendenza (prima di pubblicare il pacchetto).

+1

Questo non dovrebbe semplicemente ripetere l'aggiornamento 'npm' che ho fatto per primo? Volevo tornare al mio stato originale, non di nuovo 'npm update'. – aug

+1

'npm update' applica le dipendenze del pacchetto del nodo, esattamente come specificato in' package.json' (incluse le versioni delle dipendenze). Non aggiorna semplicemente tutto alla versione più recente. – cybersam

+0

Ah, vedo grazie per il chiarimento. Accettare la tua risposta – aug

0

Tutto ciò che ho fatto è stato eseguire "rm -rf node_modules" per disinstallare i node_modules aggiornati e quindi "npm install" per reinstallarli; il mio pacchetto.json non era cambiato quando ho fatto l'aggiornamento npm che ha causato tutto il caos. Così eliminando e reinstallando node_modules sono tornato volentieri in attività.