npm uninstall 卸载依赖需先确认类型(dependencies/devdependencies/全局),再匹配命令:默认卸生产依赖,-d 卸开发依赖,-g 卸全局包;默认同步更新 package.json,--no-save 仅删文件;卸后建议执行 npm prune 清理未声明子依赖。

直接用 npm uninstall 就能卸载,但关键在“卸哪里”和“删干净没”——包可能在生产依赖、开发依赖或全局环境里,类型不对就卸不掉,package.json 也可能没同步更新。
先确认依赖类型再执行命令
npm 不会自动猜你装的是哪种依赖。如果直接 npm uninstall axios 报 “not found”,大概率它其实在 devDependencies 里。
- 运行
npm list --depth=0查看顶层依赖及其归属(dependencies/devDependencies) - 或者打开
package.json,定位目标包在哪个字段下 - 匹配类型执行对应命令:
npm uninstall axios→ 从dependencies移除npm uninstall eslint -D或npm uninstall eslint --save-dev→ 从devDependencies移除
区分本地卸载和全局卸载
默认命令只操作当前项目。如果你装过 npm install -g typescript 这类全局工具,必须显式加 -g 才能卸载。
将一个或多个视频上传至YouTube。当用户想“上传到YouTube”“发YouTube”“批量上传”“upload to YouTube”“post videos to YouTube”或发布到YouTube时使用此技能。
- 本地包:不加
-g,例如npm uninstall lodash - 全局包:必须加
-g,例如npm uninstall -g http-server;漏掉-g通常静默失败或报错
注意 package.json 是否同步更新
npm uninstall 默认会删 node_modules 中的文件,并从 package.json 对应字段中移除条目。但你可以用 --no-save 覆盖这个行为。
- 想只删文件、保留声明:加
--no-save,如npm uninstall moment --no-save - 想强制写入(比如之前用了
--no-save,现在要补删):不用额外参数,默认就会更新 - 可选依赖用
--save-optional,不过日常较少见
卸完建议跑一次 npm prune
卸载命令不会自动清理那些没被直接声明、但被其他包间接拉进来的子依赖。它们会留在 node_modules 里,占空间还可能引发冲突。
- 执行
npm prune:删掉所有package.json里没列出来的包 - 如果依赖状态已经混乱(比如多次手动删文件),更彻底的做法是:
删除node_modules和package-lock.json,再运行npm install










