You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取@bazel_tools等已知仓库列表及查询仓库来源?

关于Bazel仓库的两个问题解答

1. 如何获取@bazel_tools、@rules_jvm_external这类已知仓库的列表?

  • 内置仓库(如@bazel_tools):这类仓库是Bazel自带的,你可以通过bazel info output_base命令获取Bazel的工作根目录,进入该目录下的external/bazel_tools就能查看它的具体内容;另外Bazel的官方文档里会明确列出所有内置仓库的清单,搜索“built-in repositories”相关章节就能找到。
  • 官方维护的第三方规则仓库(如@rules_jvm_external):这类仓库大多归属于Bazel官方的代码组织,常用的包括rules_jvm_external、rules_python、rules_nodejs等。你可以参考Bazel官方推荐的规则集合文档,或者看看主流Bazel项目的WORKSPACE文件——里面通常会引入这类常用仓库,慢慢就能整理出一份实用的常用仓库列表。

2. 如何查询WORKSPACE/BUILD文件中任意仓库的来源(位置)?

这里有几个实用的方法:

  • 用Bazel命令查本地缓存路径:执行bazel info external/<repo_name>,比如bazel info external/rules_jvm_external,会直接返回该仓库在本地Bazel缓存中的具体文件路径,你可以直接进入目录查看内容。
  • 通过bazel query看位置信息:运行bazel query @<repo_name>//... --output=location,这条命令会列出该仓库下所有构建目标的位置,从输出里能推断出仓库的本地路径,再结合WORKSPACE的定义就能对应上远程来源。
  • 查看WORKSPACE的声明:绝大多数非内置仓库都是在WORKSPACE文件中通过git_repository、http_archive、local_repository等规则声明的。在WORKSPACE里搜索仓库名称,找到对应的定义块,里面会包含仓库的URL、版本(commit哈希或标签)、本地路径等关键信息,一眼就能知道它的来源。
  • 内置仓库的来源:像@bazel_tools这类内置仓库,它的内容打包在Bazel的安装包中,也可以在Bazel的官方源码仓库中找到对应目录,或者通过bazel info bazel_tools命令查看它的本地路径。

内容的提问来源于stack exchange,提问作者Skyblade

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 23:02:33