如何从 node_modules 中删除不需要的包? npm rm 不起作用

我一辈子都想不出一种从 node_modules 中删除包的简单方法。

我正在遵循一个教程,它告诉我使用 npm rm <pkg> ,但是当我验证我正确地执行了操作时,它说依赖关系仍然存在。我查看了我的根目录并注意到虽然该包已从我的 package.json 中删除,但它仍然存在于我的 node_modules 目录中。为什么 npm rm <pkg> 没有像我想象的那样实际删除包?另一种解决方案是什么?我想我可以完全删除我的 node_modules 目录,但如果我有其他依赖项/包,那将无法正常工作。

我试过用谷歌搜索答案,但奇怪的是什么都没出现。

stack overflow How to remove unwanted packages from node_modules? npm rm doesn't work
原文答案

答案:

作者头像

npm uninstall 从 node_modules 中删除模块,但不删除 package.json。

npm uninstall <pkg> --save 也会从 package.json 中删除依赖。

npm rm <pkg> 在卸载无效时删除包

npm prune <pkg> 用于无关的包

如果不想卸载一一运行

rm -rf pkg-name && npm cache clean && npm install