Skip to main content
我们经常发布文档更新,此页面的翻译可能仍在进行中。 有关最新信息,请访问英语文档
GitHub AE 目前处于受限版。

关于依赖关系图

您可以使用依赖关系图来识别项目的所有依赖项。 依赖关系图支持一系列流行的软件包生态系统。

关于依赖关系图

依赖项关系图是存储在存储库 的存储库的依赖关系。 对于每个存储库,它显示 依赖项,即它所依赖的生态系统和包。 GitHub AE 不计算有关依赖项、存储库和依赖于存储库的包的信息。

向 GitHub AE 推送提交以更改支持的清单或锁定文件或将其添加到默认分支时,依赖项关系图会自动更新。有关支持的生态系统和清单文件的信息,请参阅下面的“支持的包生态系统”。

当创建包含针对默认分支的依赖项更改的拉取请求时,GitHub 使用依赖关系图向拉取请求添加依赖项审查。 它们指示依赖项是否包含漏洞,如果是,则指示已修复漏洞的依赖项版本。 有关详细信息,请参阅“关于依赖项评审”。

依赖关系图可用性

企业所有者可以为企业配置 Dependabot alerts。 有关详细信息,请参阅 “为企业启用 Dependabot”。

包含的依赖项

依赖项关系图包含支持的生态系统中的清单和锁定文件(或等效文件)中详述的存储库的所有依赖项。 这包括:

  • 直接依赖项,这些依赖项是在清单或锁定文件中显式定义的
  • 这些直接依赖项的间接依赖项,也称为过渡依赖项或子依赖项

依赖项关系图通过锁定文件显式标识间接依赖项从锁定文件 测试和调试代码。

有关 GitHub AE 如何帮助你了解环境中的依赖项的详细信息,请参阅“关于供应链安全性”。

使用依赖关系图

您可以使用依赖关系图:

支持的包生态系统

建议的格式明确定义哪些版本用于所有直接和所有间接依赖项。 如果使用这些格式,依赖项关系图会更准确。 它还反映当前的生成设置,并且使依赖项关系图能够报告直接和间接依赖项中的漏洞。

| 程序包管理器 | 语言 | 推荐格式 | 所有支持的格式 | | --- | --- | --- | ---| | Cargo | Rust | Cargo.lock | Cargo.tomlCargo.lock | | Composer | PHP | composer.lock | composer.jsoncomposer.lock | | NuGet | .NET 语言(C#、F#、VB)、C++ | .csproj.vbproj.nuspec.vcxproj.fsproj、 | .csproj.vbproj.nuspec.vcxproj.fsprojpackages.config | | GitHub Actions 工作流 [1] | YAML | .yml, .yaml | .yml, .yaml | | Go 模块 | Go | go.mod| go.modgo.sum | | Maven | Java, Scala | pom.xml | pom.xml | | npm | JavaScript | package-lock.json | package-lock.jsonpackage.json| | pip | Python | requirements.txtpipfile.lock | requirements.txtpipfilepipfile.locksetup.py[2] | | Python Poetry | Python | poetry.lock | poetry.lockpyproject.toml | | RubyGems | Ruby | Gemfile.lock | Gemfile.lockGemfile*.gemspec | | Yarn | JavaScript | yarn.lock | package.jsonyarn.lock |

[1] GitHub Actions 工作流必须位于要识别为清单的存储库的 .github/workflows/ 目录中。 使用 jobs[*].steps[*].usesjobs.<job_id>.uses 语法引用的任何操作或工作流都将被分析为依赖项。 有关详细信息,请参阅“GitHub Actions 的工作流语法”。

[2] 如果你在 setup.py 文件中列出 Python 依赖项,我们可能无法分析和列出项目中的每个依赖项。

注意:GitHub Actions 工作流程依赖项显示在依赖项关系图中,以供参考。 GitHub Actions 工作流程目前不支持 Dependabot 警报。

延伸阅读