npm install和npm install --save是一样的吗?

26

我正在查看Node的文档页面,但我不确定

npm install gulp-util

等同于

npm install gulp-util --save

在文档中,它说:

"默认情况下,npm install 将安装 package.json 中列出的所有模块作为依赖项"

感觉这就像 --save 的作用,

https://docs.npmjs.com/cli/install

2个回答

56

只运行npm install,将会安装 package.json 文件中列出的所有依赖项。

运行npm install <package-name> 只会安装该软件包,不会将该软件包添加到 package.json 的 dependencies 列表中。

运行npm install <package-name> --save 将会安装该软件包,并将该软件包添加到 dependencies 列表中。

npm 5+ 版本更新:

运行npm install <package-name> 将会安装该软件包,并将其添加到 dependencies 列表中。


39
这个曾经是正确的。现在NPM版本5默认添加--save。需要说明的是,没有使用--save的npm install <包名>仍然会将该包添加到您的package.json文件中。 - Josh Pittman
1
stackoverflow应该添加一个选项,将已接受的答案标记为废弃,并可以接受新答案。 - Arst

10

执行npm install但不指定包名会安装package.json中的依赖项。

执行npm install gulp-util会安装gulp-util,但不会修改package.json

执行npm install gulp-util --save会安装gulp-util并更新package.json。这样在未来,当您或其他人运行npm install时,他们将无需指定就可以安装gulp-util。 package.json跟踪项目的依赖关系,因此您只需要在克隆/拉取/部署/重新安装等操作后运行npm install即可,而不需要手动安装所有依赖项。


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