2012-08-07 5 views

risposta

6

Normalmente dipendenze in un progetto di nodo sono installati tramite package.json: https://docs.npmjs.com/files/package.json

Si installa ogni dipendenza con npm install --save my-dependency e verrà aggiunto al file package.json. Quindi la prossima persona sul progetto può installare tutte le dipendenze con il comando nella stessa cartella di package.json.

Ma nel mio caso volevo installare i requisiti globali di npm tramite un file di testo (simile a pip install -r requirements.txt).

È possibile farlo con:

cat requirements.txt | xargs npm install -g

9

Si potrebbe voler dare un'occhiata alla documentazione per npm shrinkwrap. Crea un npm-shrinkwrap.json, che avrà la precedenza su qualsiasi package.json durante l'installazione.

In sostanza, l'equivalente è:

npm shrinkwrap 
npm install 

Edit:

Dal v5.0.0, NPM ora crea sempre un package-lock.json, con lo stesso formato di npm-shrinkwrap.json. Ci sono stati altri cambiamenti da allora, non ultimo nell'ultima v5.6.0. Vedi lo package-lock docs.

+2

Si noti inoltre che npm ha una funzionalità che pip non fa - accodando alla lista dei dep come sono installati. Usa 'npm install --save aPackage' (o' npm install --save-dev aDevPackage'). – Pat

1

per installare i pacchetti NPM a livello globale da un file di testo (ad esempio npm-requirements.txt) con un formato simile a un file requisito pip:

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

Questo consente commenti nel file dei requisiti, proprio come pip. (source)

un comando simile al pip freeze > requirements.txt è:

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

Tuttavia, questo è imperfetta perché non salva i numeri di versione dei pacchetti NPM.