此版本的 GitHub Enterprise 已停止服务 2021-06-09. 即使针对重大安全问题,也不会发布补丁。 要获得更好的性能、改进的安全性和新功能,请升级到 GitHub Enterprise 的最新版本。 如需升级方面的帮助,请联系 GitHub Enterprise 支持

关于依赖项图

有关依赖关系图、它支持的生态系统及其如何确定仓库所依赖的软件包的详细信息。

依赖关系图可用性

依赖关系图可用于使用支持的文件格式在支持的包生态系统中定义依赖关系的每个仓库。

您的站点管理员必须启用 您的 GitHub Enterprise Server 实例 的漏洞依赖项的安全警报,然后您才可使用此功能。 更多信息请参阅“为 GitHub Enterprise Server 上易受攻击的依赖项启用安全警报”。

关于依赖项图

依赖项图是存储在仓库中的清单和锁定文件的摘要。 对于每个仓库,它会显示依赖项,即它所依赖的生态系统和包。 GitHub Enterprise Server 不计算有关依赖项、仓库和依赖于仓库的包的信息。

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

包含的依赖项

依赖关系图包括清单和锁定文件中详述的所有依赖项,或支持的生态系统的同等项。 这包括:

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

依赖关系图可识别间接依赖项。

使用依赖关系图

您可以使用依赖关系图:

启用依赖关系图

如果依赖项图在系统中不可用,则站点管理员可以启用依赖项图和安全警报。 更多信息请参阅“为 GitHub Enterprise Server 上易受攻击的依赖项启用安全警报”。

首次启用依赖关系图时,将立即剖析受支持的生态系统的任何清单和锁定文件。 依赖关系图通常在几分钟之内填充,但对于依赖项很多的仓库,可能需要更长时间。 启用后,每次推送到仓库时,依赖关系图都会自动更新。

支持的包生态系统

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

下面列出的生态系统支持依赖关系图和 安全警报。

包管理器语言建议的格式所有支持的格式
ComposerPHPcomposer.lockcomposer.jsoncomposer.lock
dotnet CLI.NET 语言(C#、C++、F#、VB).csproj.vbproj.nuspec.vcxproj.fsproj.csproj.vbproj.nuspec.vcxproj.fsprojpackages.config
MavenJava、Scalapom.xmlpom.xml
npmJavaScriptpackage-lock.jsonpackage-lock.jsonpackage.json
Python PIPPythonrequirements.txtpipfile.lockrequirements.txtpipfilepipfile.locksetup.py*
RubyGemsRubyGemfile.lockGemfile.lockGemfile*.gemspec
YarnJavaScriptyarn.lockpackage.jsonyarn.lock

注:如果在 setup.py 文件中列出 Python 依赖项,我们可能无法剖析和列出项目中的每个依赖项。

延伸阅读