2012-08-07 9 views

Antwort

6

Abhängigkeiten Normalerweise in einem Knoten Projekt über package.json installiert sind: https://docs.npmjs.com/files/package.json

Sie jede Abhängigkeit installieren mit npm install --save my-dependency und es wird auf die package.json Datei hinzugefügt werden. Die nächste Person im Projekt kann alle Abhängigkeiten mit dem Befehl npm install im selben Ordner von package.json installieren.

Aber in meinem Fall wollte ich globale Anforderungen von npm über eine Textdatei (ähnlich pip install -r requirements.txt) installieren.

Sie können das tun, mit:

cat requirements.txt | xargs npm install -g

9

Sie können einen Blick in die Dokumentation für npm shrinkwrap nehmen wollen. Es wird ein npm-shrinkwrap.json erstellt, der Vorrang vor allen package.json bei der Installation hat.

Grundsätzlich ist das Äquivalent:

npm shrinkwrap 
npm install 

Edit:

Seit v5.0.0, npm jetzt schafft immer eine package-lock.json, mit dem gleichen Format wie npm-shrinkwrap.json. Seitdem hat es weitere Änderungen gegeben, nicht zuletzt in der neuesten v5.6.0. Siehe package-lock docs.

+2

Beachten Sie auch, dass npm eine Funktion hat, die pip nicht - an die Liste der deps anfügt, wenn sie installiert sind. Verwenden Sie 'npm install --save aPackage' (oder' npm install --save-dev aDevPackage'). – Pat

1

Um npm Pakete global aus einer Textdatei (zB npm-requirements.txt) mit einem Format ähnlich einer pip Anforderung Datei zu installieren:

sed 's/#.*//' npm-requirements.txt | xargs npm install -g 

Diese erlaubt Kommentare in der Anforderungsdatei, genau wie pip. (source)

Ein Befehl ähnlich pip freeze > requirements.txt ist:

ls "$(npm root -g)" > npm-requirements.txt 

Dies ist jedoch nicht perfekt ist, weil es nicht die Versionsnummern von NPM-Pakete nicht speichern.