我的所有package.json
都有devDependencies
。
我的理解是,如果删除依赖项并运行npm prune
,节点将从node_modules
中删除模块文件夹。这似乎是维护node_modules
文件夹的最简单方法。
来自docs:
npm prune
删除多余的包
此命令删除“无关”包。
无关的包是未在父级上列出的包 包的依赖列表。
但是,有时甚至在运行npm prune
后我仍然在我的node_modules
中有模块文件夹。
为什么会发生这种情况以及删除未使用模块的正确方法是什么?
答案 0 :(得分:11)
如果指定了
中指定的套餐--production
标志,则此命令将删除 您devDependencies
。
所以,如果你想摆脱node_modules
中指定的devDependencies
中的模块文件夹,你应该执行
npm prune --production
答案 1 :(得分:5)
跑完后:
npm ls
我明白了:
npm ERR! extraneous: package@0.9.6 /path/to/package
然后当我做的时候:
npm prune
已卸载软件包。