为什么`npm prune`不能从node_modules中删除文件夹?
我有我所有的devDependencies package.json。
我的理解是,如果我删除依赖项,并运行npm prune
,节点将从node_modules删除模块文件夹。 这似乎是维护我的node_modules文件夹的最简单的方法。
从文档 :
npm修剪
删除多余的包
这个命令删除“无关”的包。
无关程序包是父程序包的依赖项列表中未列出的程序包。
但是,有时甚至在运行npm prune
之后,我的node_modules中仍然有模块文件夹。
为什么会发生? 什么是删除未使用的模块的正确方法?
根据文件
如果指定了–production标志,则该命令将删除devDependencies中指定的包。
所以,如果你想摆脱在devDependencies中指定的node_modules模块文件夹,你应该执行
npm prune –production
运行后:
npm ls
我懂了:
npm ERR! extraneous: package@0.9.6 /path/to/package
那么当我做了:
npm prune
该软件包已被卸载。