跳至主要内容

探索存储库的依赖项

您可以使用依赖关系图查看项目依赖的包以及依赖于它的存储库。此外,您还可以查看在其依赖项中检测到的任何漏洞。

谁可以使用此功能?

存储库管理员、组织所有者以及对存储库具有 **写入** 或 **维护** 访问权限的人员

查看依赖关系图

依赖关系图显示了您的存储库的依赖项和依赖者。对于每个依赖项,您可以查看许可证信息和漏洞严重性。您还可以使用搜索栏搜索特定依赖项。依赖项会根据漏洞严重性自动排序。有关依赖项检测以及支持哪些生态系统的信息,请参阅“支持的依赖关系图软件包生态系统”。

  1. 在 GitHub 上,导航到存储库的主页。

  2. 在您的存储库名称下,单击 Insights(洞察).

    Screenshot of the main page of a repository. In the horizontal navigation bar, a tab, labeled with a graph icon and "Insights," is outlined in dark orange.

  3. 在左侧边栏中,单击 **依赖关系图**。

    Screenshot of the "Dependency graph" tab. The tab is highlighted with an orange outline.

  4. 可选:使用搜索栏查找特定依赖项或一组依赖项。

    注意

    搜索栏仅根据包名称进行搜索。

  5. 可选:要查看依赖于您的存储库的存储库和包,请在“依赖关系图”下单击 **依赖者**。

    Screenshot of the "Dependency graph" page. The "Dependents" tab is highlighted with an orange outline.

    注意

    GitHub 目前仅确定公共存储库的依赖者。

依赖项视图

对于每个依赖项,您可以看到其生态系统、找到它的清单文件以及许可证(如果已检测到)。对私有存储库、私有包或无法识别的文件的依赖项将以纯文本显示。如果依赖项的包管理器位于公共存储库中,则您可以将鼠标悬停在依赖项名称上以显示包含相关存储库信息的弹出窗口。

使用依赖关系提交 API 提交到项目的依赖关系将显示为其提交使用了哪个检测器以及何时提交。有关使用依赖关系提交 API 的更多信息,请参阅“使用依赖关系提交 API”。

如果在存储库中检测到漏洞,则这些漏洞将显示在具有 Dependabot 警报访问权限的用户视图顶部。

依赖者视图

对于公共存储库,依赖者视图显示了其他存储库如何使用该存储库。要仅显示包含包管理器中库的存储库,请单击依赖存储库列表正上方的 **NUMBER 个包**。依赖者计数是近似值,可能并不总是与列出的依赖者匹配。

为私有存储库启用和禁用依赖关系图

存储库管理员可以为私有存储库启用或禁用依赖关系图。

您可以为您的用户帐户拥有的所有存储库启用或禁用依赖关系图。有关更多信息,请参阅“管理您的个人帐户的安全和分析设置”。

您还可以同时为组织中的多个存储库启用依赖关系图。有关更多信息,请参阅“保护您的组织”。

  1. 在 GitHub 上,导航到存储库的主页。

  2. 在您的存储库名称下,单击 **设置**。如果您看不到“设置”选项卡,请选择 **** 下拉菜单,然后单击 **设置**。

    Screenshot of a repository header showing the tabs. The "Settings" tab is highlighted by a dark orange outline.

  3. 在边栏的“安全”部分中,单击 ** 代码安全和分析**。

  4. 阅读有关授予 GitHub 对存储库数据的只读访问权限以启用依赖关系图的消息,然后在“依赖关系图”旁边单击 **启用**。

    Screenshot showing how to enable the dependency graph for a repository. The "Enable" button is highlighted with a dark orange outline.

    您可以随时点击“代码安全和分析”设置页面中“依赖关系图”旁边的**禁用**来禁用依赖关系图。

更改“被使用于”软件包

您可能会注意到某些代码库在**代码**选项卡的侧边栏中有一个“被使用于”部分。如果满足以下条件,您的代码库将包含“被使用于”部分:

  • 已为代码库启用依赖关系图(有关更多详细信息,请参见上一节)。
  • 您的代码库包含一个发布在受支持的软件包生态系统上的软件包。
  • 在该生态系统中,您的软件包链接到存储源代码的公共代码库。
  • 超过 100 个代码库依赖于您的软件包。

“被使用于”部分显示找到的公共软件包引用的数量,并显示一些依赖项目所有者的头像。

Screenshot of the "Used by" section for a repository. To the right of the "Used by" header is "13.4m." Under the header are 8 avatars and "+13,435,819."

点击此部分中的任何项目都会将您带到依赖关系图的**依赖项**选项卡。

“被使用于”部分表示代码库中的单个软件包。如果您对包含多个软件包的代码库拥有管理员权限,则可以选择“被使用于”部分表示哪个软件包。

  1. 在 GitHub 上,导航到存储库的主页。

  2. 在您的存储库名称下,单击 **设置**。如果您看不到“设置”选项卡,请选择 **** 下拉菜单,然后单击 **设置**。

    Screenshot of a repository header showing the tabs. The "Settings" tab is highlighted by a dark orange outline.

  3. 在边栏的“安全”部分中,单击 ** 代码安全和分析**。

  4. 在“代码安全和分析”下,点击“被使用于计数器”部分中的下拉菜单并选择一个软件包。

依赖关系图故障排除

如果您的依赖关系图为空,则可能存在包含依赖项的文件问题。检查文件以确保其格式正确。

如果文件格式正确,请检查其大小。依赖关系图会忽略超过 1.5 MB 的单个清单文件和锁文件,除非您是 GitHub Enterprise 用户。默认情况下,它最多处理每个代码库的 150 个清单文件或锁文件,因此您可以将依赖项拆分为代码库子目录中的较小文件。

如果未处理清单文件或锁文件,则其依赖项将从依赖关系图中省略,并且无法检查其不安全的依赖项。

进一步阅读