2014-02-26 5 views
5

Ich möchte in der Lage sein, meine lokal installierten Pakete mit meinem Projekt package.json Datei zu vergleichen, ohne einen Anruf gegen die npm Online Repo. Wenn ein Paket veraltet ist, basierend auf der Datei package.json, dann und nur dann wird es zum npm Online Repo gehen und das Paket installieren.npm install nur wenn Paket fehlt oder veraltet im Vergleich zu package.json

Der Grund dafür ist, dass ich in der Lage sein soll, die Paket.json-Datei zu aktualisieren, eine neuere Version eines Pakets zu erfordern, diese Änderung an das Projekt Repo zu übergeben und wenn andere Entwickler im Team neueste ihre NPM-Paket erhalten ist aktualisiert. Ich möchte den Prozess nicht verlangsamen, wenn alles auf dem neuesten Stand ist oder das Build fehlschlägt, wenn der Zugriff auf das Npm Repo oder das Internet unterbrochen ist.

Ich frage mich, ob dies ein bereits gelöster Anwendungsfall ist oder muss ich die package.json-Datei analysieren und es mit einer "npm ls" -Ausgabe vergleichen?

Antwort

2

Sie ein lokales Repository einrichten müssen (durch die NPM couchdb localy Duplizieren) (https://stackoverflow.com/a/7577265/406458 sehen)

dann könnte man npm-Check-Updates verwenden.

npm-Check-Updates finden Sie eine Liste der Pakete geben, die in Ihrer package.json Datei sehen https://www.npmjs.org/package/npm-check-updates

$ npm-Check-Updates

"connect" aktualisiert werden kann aktualisiert von 2.8.x auf 2.11.x (Installiert: 2.8.8, Latest: 2.11.0) "commander" kann von 1.3.x auf 2.0.x aktualisiert werden (Installiert: 1.3.2, Latest: 2.0.0)

Führen Sie 'npm-check-updates -u' aus, um Ihr pa zu aktualisieren ckage.json automatisch prüfen globale npm Pakete für Updates:

$ npm-Check-Updates -u

+0

Dank. Das sieht nach einer vernünftigen Lösung aus. –

Verwandte Themen