为什么`npm prune`不从node_modules中删除文件夹?

时间:2013-11-20 10:47:32

标签: node.js npm

我的所有package.json都有devDependencies

我的理解是,如果删除依赖项并运行npm prune,节点将从node_modules中删除模块文件夹。这似乎是维护node_modules文件夹的最简单方法。

来自docs

  

npm prune

     

删除多余的包

     

此命令删除“无关”包。

     

无关的包是未在父级上列出的包   包的依赖列表。

但是,有时甚至在运行npm prune后我仍然在我的node_modules中有模块文件夹。

为什么会发生这种情况以及删除未使用模块的正确方法是什么?

2 个答案:

答案 0 :(得分:11)

根据documentation

  

如果指定了--production标志,则此命令将删除   您devDependencies

中指定的套餐

所以,如果你想摆脱node_modules中指定的devDependencies中的模块文件夹,你应该执行

  

npm prune --production

答案 1 :(得分:5)

跑完后:

npm ls

我明白了:

npm ERR! extraneous: package@0.9.6 /path/to/package

然后当我做的时候:

npm prune

已卸载软件包。

相关问题