如何运行 `npm prune` 但排除一个包

tat*_*emz 5 continuous-integration npm

有没有办法只运行npm prune一个不在依赖项中的包?

我知道这听起来很奇怪,但有一个合法的用例。

用例:

  1. 在抽象的 CI/CD 流中,我想添加npm install任何新的package.json
  2. 然后npm prune应该删除任何可能已从package.json
  3. 然后我想要npm install XXXX一个仅 CI/CD 流需要的单个依赖项,但是如果它已经存在,后续流不应安装它,因此在 CI/CD 流的第二次执行时,XXXX将通过npm prune命令。:-(

som*_*dom 0

npm 版本 9开始,使用时仍然无法排除软件包npm prune

此问题的一个可能的解决方法是将依赖关系转换为对等依赖关系。但这取决于您的用例。