2012-08-07 192 views

回答

6

通常依赖关系中的一个节点项目通过的package.json安装:https://docs.npmjs.com/files/package.json

您安装与​​每个相关性,它会被添加到的package.json文件。因此,项目上的下一个人可以使用npm install命令在package.json的相同文件夹上安装所有依赖项。

但在我的情况下,我想通过文本文件(类似于pip install -r requirements.txt)安装npm的全局需求。

你可以做到这一点:

cat requirements.txt | xargs npm install -g

9

你可能想看看为npm shrinkwrap的文档。它会创建一个npm-shrinkwrap.json,安装时优先于任何package.json

基本上,当量是:

npm shrinkwrap 
npm install 

编辑:

由于V5.0.0,NPM现在总是创建package-lock.json,用相同的格式npm-shrinkwrap.json。自那以后还有其他更改,尤其是最新的v5.6.0。请参阅package-lock docs

+2

另请注意,npm有一个功能,即pip不会 - 在安装时添加到dep列表中。使用'npm install --save aPackage'(或'npm install --save-dev aDevPackage')。 – Pat 2014-11-23 22:55:05

1

从一个文本文件,在全球安装NPM包(如npm-requirements.txt)类似于画中画要求文件格式:

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

这允许在需求文件中进行注释,就像pip一样。 (source

类似pip freeze > requirements.txt的命令是:

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

然而,这是不完美的,因为它不保存NPM包的版本号。