npm install加--save参数与npm i无参数的差异及适用场景分别是什么?
npm 安装命令差异及--save参数使用场景说明
两条命令的区别
首先明确两个基础规则:
npm i是npm install的官方简写,二者核心功能完全一致--save是用于控制依赖是否写入package.json配置的参数
两条命令的行为差异完全取决于你使用的npm版本:
- 当使用 npm 5.0.0以下版本 时:
npm install @uiw/react-monacoeditor --save会完成两个操作:将依赖包安装到项目的node_modules目录,同时把包名和版本号写入package.json的dependencies字段npm i @uiw/react-monacoeditor仅会把依赖包安装到node_modules目录,不会写入package.json的依赖清单,后续重新执行npm install时不会自动安装该依赖
- 当使用 npm 5.0.0及以上版本 时:
两条命令完全等效,npm默认开启了自动保存依赖到package.json的行为,不加--save也会自动写入dependencies字段。
需要添加--save参数的场景
- 你的开发环境使用的npm版本低于5.0.0,需要将安装的生产依赖记录到
package.json中保证安装行为可复现 - 团队内部成员使用的npm版本不统一,主动加
--save可以兼容低版本npm的行为,避免出现依赖漏写的问题 - 你的项目npm配置中手动设置了
save=false修改了默认安装逻辑,需要通过--save强制将依赖写入配置文件
内容的提问来源于stack exchange,提问作者tRuEsAtM
相关产品推荐
相关产品推荐

