2016-05-23 16 views
1

Ich habe eine Subabhängigkeit, die auf Knoten 6.2.0 bricht. Es verwendet eine alte Version von subsubdependency.Knoten npm installieren, erzwingen Abhängigkeit der Abhängigkeit, um spezifische Version zu installieren

Das Festlegen meiner package.json, um auf die aktualisierte Abhängigkeit zu zeigen, hat keinen Einfluss darauf, welche Abhängigkeit die npm install xxx verwendet.

Es scheint, ich muss jede Abhängigkeit in github verzweigen, zeigen Sie ihre package.json's bei den neuen Commits und versuchen npm erneut installieren, die wie ein rekursiver Alptraum einer Benutzererfahrung scheint. was machen?

Antwort

1

Sie können den Befehl npm shrinkwrap verwenden. Dadurch wird eine npm-shrinkwrap.json Datei erstellt, in der Sie ändern können, welche Version die Abhängigkeiten einer Abhängigkeit verwenden sollen, wenn npm install ausgeführt wird.

Bevor Sie npm shrinkwrap ausführen, müssen Sie alle Ihre Abhängigkeiten installieren, andernfalls werden Sie mit einer leeren npm-shrinkwrap.json Datei enden.

This blog post spricht darüber, wie es funktioniert und hier sind die docs für npm shrinkwrap.

Sein bemerkenswert, dass standardmäßig npm shrinkwrap gehören nicht devDependencies so, wenn Sie Ihre problematische Paket installiert wurde mit --save-dev Sie müssen explizit einschließen diese Pakete

npm shrinkwrap --dev

Verwandte Themen