codecamp

GitHub 探索存储库的依赖关系

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

查看依赖关系图

依赖性图显示了存储库的依赖性和依赖性。 有关检测依赖项以及支持哪些生态系统的信息,请参阅 "关于依赖关系图."

  1. 在 GitHub 上,导航到仓库的主页面。

  1. 在仓库名称下,单击 tableInsights(洞察)

主仓库导航栏中的洞察选项卡

  1. 在左侧边栏中,单击 Dependency graph(依赖图)

左侧边栏的依赖图选项卡

  1. (可选)在 "Dependency graph"(依赖关系图)下,单击 Dependents(依赖项)

Dependents tab on the dependency graph page

依赖项视图

依赖项按生态系统分组。 您可以展开依赖项以查看其依赖项。对于对托管在GitHub上的公共存储库的依赖性,您还可以单击一个依赖性来查看存储库。 对私有存储库,私有软件包或无法识别的文件的依赖关系以纯文本显示。

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

依赖关系图

依赖项视图

对于公共仓库,依赖项视图显示其他仓库如何使用该仓库。 要在包管理器中仅显示包含存储库的仓库,请单击依赖的仓库列表正上方的编号包。 依赖项计数是近似值,不一定与列出的依赖项匹配。

从属者图

为私有仓库启用或禁用依赖关系图

仓库管理员可以启用或禁用私有仓库的依赖关系图。

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

  1. 在 GitHub 上,导航到仓库的主页面。

  1. 在仓库名称下,单击 settingSettings(设置)

仓库设置按钮

  1. 在左侧边栏中,单击 Security & analysis(安全和分析)

仓库设置中的

  1. 阅读有关授予 GitHub 只读访问仓库数据的消息,以启用依赖关系图,然后在“Dependency Graph(依赖关系图)”旁边单击 Enable(启用)

依赖关系图的

您可以随时单击 Security & analysis(安全性和分析)选项卡上“Dependency Graph(依赖关系图)”旁边的 Disable(禁用)来禁用依赖关系图。

依赖关系图疑难排解

如果依赖关系图为空,则包含依赖项的文件可能有问题。 检查该文件以确保其格式对文件类型是正确的。

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

如果清单或锁定文件未获处理,其依赖项将从依赖关系图中省略,而不能接受有漏洞依赖项的检查。

延伸阅读

GitHub 关于依赖关系图
GitHub 管理项目中的安全漏洞
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

GitHub 身份验证

在 GitHub 上管理订阅和通知

在 GitHub 上管理活动的订阅

GitHub 组织和团队

GitHub 管理对组织仓库的 Git 访问

GitHub 计费和付款

GitHub 使用议题和拉取请求进行协作

GitHub 在具有代码质量功能的仓库上进行协作

管理在 GitHub 上的工作

GitHub 建立强大的社区

GitHub 管理仓库

GitHub 自定义 GitHub 工作流程

在 GitHub Marketplace 中购买并安装应用程序

通过 GitHub Jobs 寻找人才

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }