每次安装软件包时都会出现此错误
found 14 vulnerabilities (1 low, 1 moderate, 12 high) run `npm audit fix` to fix them, or `npm audit` for details
所以我发现我的某些npm软件包具有易受攻击的版本
相依性称为tar
。因此,我现在要做的就是将此软件包更新为更高的版本> = 4.4.2。
我在tar
中手动更改了所有package-lock.json
依赖项的版本,并尝试运行以下命令
npm i
npm audit fix
npm audit fix --force
但是package-lock.json
会自动更新回先前的tar
依赖关系。我什至运行了npm cache clean --force
并重复了上述命令,但结果相同。
是否可以通过命令行专门更新tar
中的每个node_modules
依赖项?
答案 0 :(得分:0)
npm audit fix
通过将软件包版本更改为兼容版本来更改package.json
,package.json
定义了出现在package-lock.json
中的可能版本。
因此,您无法通过重写package-lock.json
来修复基于版本的漏洞,因为npm install
rewrites package-lock.json
anyway。
npm audit fix
将package.json
中的版本重写为没有漏洞的兼容版本。如果运行npm audit fix
不能解决基于版本的漏洞问题,则必须使用在npm audit fix
眼中不完全兼容的版本/库来重构代码(在现实世界中,变化通常很小)。您可以使用npm list
的帮助来获取需要tar
无效版本的依赖项的名称,并更改此软件包的版本。