`npm install`的相当于`pip install -r requirements.txt`

41

有哪些npm的相应功能可以替代以下内容:

pip freeze > requirements.txt
pip install -r requirements.txt

1
通常情况下,只需要运行 npm install 命令即可。依赖项通常在 package.json 文件中声明,而不是在 requirements.txt 文件中。 - Pro Q
3个回答

38

通常,在 Node.js 项目中安装依赖项是通过 package.json 文件完成的:https://docs.npmjs.com/files/package.json

您可以使用 npm install --save my-dependency 命令安装每个依赖项,并将其添加到 package.json 文件中。 因此,项目中的下一个人可以在 package.json 文件所在的同一文件夹中使用 npm install 命令安装所有依赖项。

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

您可以使用以下命令实现:

cat requirements.txt | xargs npm install -g


12

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

基本上,等价于:

npm shrinkwrap
npm install

编辑:

从 v5.0.0 开始,npm 现在总是创建一个与 npm-shrinkwrap.json 相同格式的 package-lock.json 文件。自那时以来还有其他更改,尤其是在最新的 v5.6.0 版本中。请参阅 package-lock 文档


2
还要注意,npm有一个pip没有的功能——在安装依赖时将其附加到dep列表中。使用npm install --save aPackage(或npm install --save-dev aDevPackage)。 - Pat

7

从类似于 pip requirements 文件的格式的文本文件(例如 npm-requirements.txt)全局安装 npm 包:

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

这允许在要求文件中添加注释,与pip类似。(来源

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

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

然而,这种方法并不完美,因为它没有保存npm包的版本号。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接