NPM ci之后进行NPM prune

3
我有一个无辜的问题:在运行npm ci之后,是否需要进行npm prune呢?对我来说,npm ci似乎已经足够了,不是吗?
提前感谢。

1
根据您的需求,“npm prune --production”可能会有所帮助,因为它会删除所有devDependencies。 - Marc
2个回答

6

'npm ci'会在安装前删除已存在的'node_modules'文件夹,因此无需进行修剪。

'npm prune'会删除安装在'node_modules'文件夹中未在'package.json'中定义的多余包。当你从一个空的'node_modules'文件夹开始时,这种情况不会发生。


你有什么参考资料可以证明你的答案,还是只是个人假设? - Transcendent
如果已经存在 node_modules,则在 npm ci 开始安装之前,它将被自动删除。https://docs.npmjs.com/cli/ci - madmed
如果ci命令添加了一个包,但它仍然是多余的,该怎么办? - Transcendent
1
多余的包是安装在 node_modules 文件夹中但未在 package.json 中定义的包。当您从空的 node_modules 文件夹开始时,这种情况不会发生。 - madmed
1
好的,很公平,麻烦您编辑您的回答,这样我就可以取消我的踩并改为点赞。 - Transcendent
谢谢你们两位的回答。 - Hulkito Nol

0
但是目前来看,@madmed的答案无效,因为我执行了npm prune之后,情况如下:
added 410 packages, removed 984 packages, and changed 10 packages in 32s

但是npm ci不会更改package-lock.json

所以答案是:是的,你有兴趣。我在我的项目中完成了这个操作,以确保根目录下的package-lock.json在我的更改后得到更新。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接