Github已将我的应用锁定文件中的依赖项标记为易受攻击.
要修复它,我应该将该软件包更新到更新的版本.
如果我对易受攻击的软件包没有任何控制,我该怎么做呢,因为它嵌套在依赖树中?
抱歉,如果这是一个非常基本的问题,但我似乎没有找到任何有用的.
小智 17
NPM 8 引入了“覆盖”来帮助解决此类问题。您现在可以将直接依赖项的特定传递依赖项覆盖为您需要的版本。在您的情况下,您可以声明如下内容来修复易受攻击的依赖项。
{
"overrides": {
"your-direct-dependency": {
"vulnerable-package": "fixed_version"
}
}
}
Run Code Online (Sandbox Code Playgroud)
更多详细信息@ https://docs.npmjs.com/cli/v8/configuring-npm/package-json#overrides
你是对的 - 因为易受攻击的软件包位于你的一个依赖项中,如下所示:
Your Package -> Dependency -> Vulnerable package
Run Code Online (Sandbox Code Playgroud)
您将无法以未来npm install或未来的方式更新依赖项的依赖项yarn.
但是,您可以采取以下方法:
package.json.有关直接从Github repos安装的更多信息,请参阅此答案.
这种方法可以在短期内解决问题,但不建议您不要受益于维护者所做的任何错误修复,此外,当您完成此操作时,依赖关系可能已经更新了!
| 归档时间: |
|
| 查看次数: |
2871 次 |
| 最近记录: |