npm依赖安装与卸载
安装和卸载依赖是NPM最高频的操作,掌握其参数与分类是日常开发的基础。
npm install安装依赖
安装单个包
Bash
# 安装最新版本,写入dependencies
npm install lodash
# 安装指定版本
npm install lodash@4.17.21
# 全局安装
npm install -g typescript
安装全部依赖
Bash
# 根据package.json安装所有依赖
npm install
常用参数
| 参数 | 作用 |
|---|---|
--save | 写入dependencies(NPM 5+默认行为) |
--save-dev 或 -D | 写入devDependencies |
--global 或 -g | 全局安装 |
--force | 强制重新安装 |
全局安装的包可在命令行直接使用,但项目内应优先本地安装以保证依赖一致性。
devDependencies与dependencies
区分规则
- dependencies:项目运行时需要的包,如
express、axios - devDependencies:仅开发时需要的包,如
jest、webpack、eslint
Bash
# 运行时依赖
npm install express
# 开发时依赖
npm install jest --save-dev
生产环境安装
Bash
# 跳过devDependencies
npm install --production
# 或通过环境变量
NODE_ENV=production npm install
框架/库项目需注意:如果某个包在运行时被import,即使看似是开发工具也应放入dependencies。
npm uninstall卸载依赖
基本用法
Bash
# 卸载本地包,同时从package.json中移除
npm uninstall lodash
# 卸载devDependencies中的包
npm uninstall jest
# 卸载全局包
npm uninstall -g typescript
卸载后会自动更新package.json和package-lock.json。
仅删除node_modules中的目录而不使用uninstall,package.json中的记录不会同步移除,会导致不一致。
要点总结
npm install <pkg>默认写入dependencies,-D写入devDependencies- 全局安装用
-g,项目依赖优先本地安装 - dependencies放运行时依赖,devDependencies放开发时依赖
- 卸载依赖必须用
npm uninstall,手动删文件会导致package.json残留