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

htzpubme  于 2023-10-19  发布在  其他
关注(0)|答案(2)|浏览(130)

我有一个package.json与我所有的devDependencies
我的理解是,如果我删除一个依赖项,并运行npm prune,node将删除node_modules中的模块文件夹。这似乎是维护node_modules文件夹的最简单方法。
关于docs
npm prune
删除无关的软件包
此命令删除“无关”包。
外部包是未在父包的依赖项列表中列出的包。
但是,有时候即使在运行npm prune之后,我的node_modules中仍然有模块文件夹。
为什么会发生这种情况,删除未使用模块的正确方法是什么?

lnvxswe2

lnvxswe21#

根据documentation
如果指定了--production标志,此命令将删除devDependencies中指定的软件包。
所以,如果你想摆脱devDependencies中指定的node_modules中的模块文件夹,你应该执行
npm prune --production

xriantvc

xriantvc2#

运行后:

npm ls

我看到:

npm ERR! extraneous: [email protected] /path/to/package

当我这样做的时候:

npm prune

包裹是空的。

相关问题