Github 告诉我 package-lock.json 文件中的依赖项易受攻击且已过时。问题是,如果我执行 npm install
或 npm update
,它们都不会更新 package-lock.json 文件中的依赖项。
我对此进行了很多谷歌搜索,并删除了文件并完成了 npm install
。
如果有人可以帮助解决这个问题,我将不胜感激。有问题的包是 Hoek,我的 package.json 文件中实际上没有它。
提前谢谢了。
原文由 Raph117 发布,翻译遵循 CC BY-SA 4.0 许可协议
听起来 Hoek 是您的依赖项之一的依赖项(因此,您在 package.json 中的包需要它自己的 package.json 中的包)。
您已经尝试删除/重新安装和更新项目依赖项但没有成功,因此似乎有问题的包依赖项指定了显式或最大版本。
如果没有看到每个依赖项的 package.json,就很难进一步建议如何强制更新。
编辑: 为了帮助您确定哪些包正在使用哪些依赖项,您可以使用 NPM 的
ls
命令: https ://docs.npmjs.com/cli/ls例如,查看哪些包正在使用 Hoek:
npm ls hoek
编辑 2: 正如 Ulysse BN 正确指出的那样,如果您有 NPM 版本 6 或更高版本,您可以使用
npm audit fix
要求 NPM 尝试为您修复漏洞。编辑 3: 阅读本文的人还应该查看下面 JBallin 的答案。它扩展了我在这里提供的信息,并且(在我看来)是一个更结构化的答案,可以更好地解决 OP 的问题。但是-如果您想要快速修复-这个答案就足够了。