如何卸载 npm 包?
卸载本地包:npm uninstall 包名(自动从 package.json 移除);全局包加 -g;多个包空格分隔一次卸载。卸载后记得检查 lock 文件并跑 npm prune。
npm uninstall <包名>——从 node_modules 删除并同步更新 package.json。
常用命令
# 卸载项目依赖(同时从 dependencies 中移除声明)
npm uninstall lodash
# 卸载开发依赖(从 devDependencies 移除)
npm uninstall -D jest
# 卸载全局包
npm uninstall -g typescript
# 一次卸多个
npm uninstall lodash moment dayjs
卸载后的检查
npm ls --depth=0 # 确认顶层依赖里没有了
npm prune # 清理残留(正常不需要,保险起见)
npm uninstall 会自动更新 package.json 和 package-lock.json。如果你用了 Git,这两个文件的变化要一起提交,否则团队成员 npm install 时包又会被装回来。
相关但不相同的操作
| 想做的事 | 命令 |
|---|---|
| 卸载某个包 | npm uninstall 包名 |
| 清空全部重装 | rm -rf node_modules && npm install |
| 清理未声明的包 | npm prune |
| 清 npm 缓存 | npm cache clean --force |
常见问题(FAQ)
Q:卸载了包,代码里还有 require 它的地方会怎样?
运行到那行时报 Cannot find module。卸载前先全局搜索 import/require 引用:grep -r "包名" src/。
Q:uninstall 后 node_modules 里还有它的子依赖吗?
可能被其他包共享的子依赖会保留;只被它独占的子依赖会一并移除。npm ls 可以验证。
Q:和手动删 node_modules 里的文件夹有什么区别?
手动删不同步 package.json/lock 文件,下次 npm install 又会装回来。永远用 npm uninstall。