npm install的--save选项是什么?

npm install的–save选项是什么?

技术背景

在使用 Node.js 进行项目开发时,我们经常会使用 npm(Node Package Manager)来管理项目依赖。在安装依赖包时,npm install 是常用命令,而 --save 选项与依赖管理密切相关。

实现步骤

npm 5 之前

在 npm 5.0.0 版本之前,使用 npm install 命令安装的包默认只会被安装到 node_modules 目录下,不会自动添加到 package.json 文件的 dependenciesdevDependencies 中。

若要将包添加到 dependencies 中,可使用如下命令:

1
npm install my_dep --save

或者使用简写形式:

1
2
npm install my_dep -S
npm i my_dep -S

若要将包添加到 devDependencies 中,可使用如下命令:

1
npm install my_test_framework --save-dev

或者使用简写形式:

1
2
npm install my_test_framework -D
npm i my_test_framework -D

npm 5 及之后

从 npm 5.0.0 版本开始(2017 年 5 月发布),安装的模块默认会被添加为依赖项,因此 --save 选项不再是必需的。不过,其他保存选项仍然存在,可在 npm install文档中查看。

此时,使用 npm install 安装包时,会自动将其添加到 package.jsondependencies 中:

1
npm install express

如果想使用旧的不自动保存的方式,可以通过以下命令设置:

1
npm config set save false

若要查看当前设置,可执行:

1
npm config get save

核心代码

安装包并保存到 dependencies

1
2
3
4
# npm 5 之前
npm install express --save
# npm 5 及之后
npm install express

安装包并保存到 devDependencies

1
2
# npm 各版本通用
npm install jest --save-dev

更新包并更新 package.json

1
2
# npm 各版本通用
npm update --save express

最佳实践

  • 在团队协作项目中,确保所有开发者使用相同版本的 npm,避免因版本差异导致依赖安装问题。
  • 对于生产环境依赖,使用 --save 或默认安装方式将其添加到 dependencies 中;对于开发环境依赖,使用 --save-dev 将其添加到 devDependencies 中。
  • 定期更新项目依赖,使用 npm update 命令时,可添加 --save 选项确保 package.json 文件同步更新。

常见问题

没有 package.json 文件时使用 --save 选项

如果没有 package.json 文件,--save 选项不会起作用。需要先运行 npm init 命令创建 package.json 文件,之后再使用 npm install --save 等命令更新依赖信息。

不同 npm 版本对 --save 选项的处理差异

在 npm 5 之前,必须使用 --save--save-dev 选项才能将依赖信息添加到 package.json 中;而在 npm 5 及之后,默认会自动保存依赖信息,--save 选项不再必需,但在更新包时仍可使用该选项更新 package.json 文件。


npm install的--save选项是什么?
https://119291.xyz/posts/2025-05-12.what-is-the-save-option-for-npm-install/
作者
ww
发布于
2025年5月12日
许可协议