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
文件的 dependencies
或 devDependencies
中。
若要将包添加到 dependencies
中,可使用如下命令:
1 |
|
或者使用简写形式:
1 |
|
若要将包添加到 devDependencies
中,可使用如下命令:
1 |
|
或者使用简写形式:
1 |
|
npm 5 及之后
从 npm 5.0.0 版本开始(2017 年 5 月发布),安装的模块默认会被添加为依赖项,因此 --save
选项不再是必需的。不过,其他保存选项仍然存在,可在 npm install
的文档中查看。
此时,使用 npm install
安装包时,会自动将其添加到 package.json
的 dependencies
中:
1 |
|
如果想使用旧的不自动保存的方式,可以通过以下命令设置:
1 |
|
若要查看当前设置,可执行:
1 |
|
核心代码
安装包并保存到 dependencies
1 |
|
安装包并保存到 devDependencies
1 |
|
更新包并更新 package.json
1 |
|
最佳实践
- 在团队协作项目中,确保所有开发者使用相同版本的 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
文件。