我有许多npm audit
报告的问题,通过运行npm audit fix
,它确实修复了其中的一些问题。然而,这样做也会因为某种原因破坏我的构建。我想我知道是哪个修复程序导致了这个问题,但我仍然想修复其他问题。
有没有办法让npm在我运行npm audit fix
时做任何事情,但只针对一个问题/依赖?
我知道我运行了npm i
,但这也将更新的依赖项添加到package.json
(即使带有--package-lock-only
标志),这是我不希望的。我只想让npm更新package-lock.json
,就像我运行npm audit fix
时一样,但只是针对一部分问题。
1条答案
按热度按时间yhxst69z1#
您应该能够使用
npm update
来实现您想要的功能。要做什么略有不同,取决于您是否使用npm
7。x或npm
6。x.我用的是7.x,这就是我在下面展示的。假设
npm audit
生成如下输出:这表明我们需要更新
minimist
、mkdirp
和extract-zip
。让我们执行
npm ls
以了解我们正在处理的版本和依赖项。因为着色是很重要的,这里是最后一个的截图:
让我们看看如果我们运行
npm update minimist
来更新这个包会发生什么。让我们使用npm ls minimist
来看看是否有任何变化。(您还可以查看package-lock.json
文件是否发生了更改并进行比较。)不,没有变化。我们还有以前的版本。好,让我们试试下一个,它是
mkdirp
。changed 1 package
似乎很有希望。让我们看看它做了什么:将
mkdirp
更新为0。5.5.你可以测试一下,看看它是否还能正常工作。如果您现在执行
npm update extract-zip
,那么将导致干净的npm audit
运行。希望这能让您了解如何在不修改
package.json
的情况下一次更新一个包。祝你好运!