素材阁

Bazel 速查

共 25 条 Bazel 构建系统用法,涵盖基本约定、常用规则、属性、常用命令、进阶。 支持搜索与分类筛选,点击即可复制。

基本约定

以 BUILD 文件与目标标签为核心。

命令说明
仓库根的外部依赖声明(MODULE.bazel 为 bzlmod 新方式)
每个目录的构建规则文件
目标标签://包路径:目标名
相对与绝对标签
引用外部仓库

常用规则

按语言选用规则。

命令说明
C++ 可执行
C++ 库
Python 可执行
Java 库
自定义生成

属性

规则通用属性。

命令说明
源文件
依赖的其它目标
运行时数据
可见性控制
仅测试使用

常用命令

构建、测试与查询。

命令说明
构建目标
构建并运行
运行所有测试
查询依赖图
清理输出 / 彻底清理

进阶

选择与缓存。

命令说明
按平台条件选择配置
默认参数与远程缓存配置
按 .bazelrc 里的配置构建
复用构建产物、分布式执行
批量构建并排除某目标

使用说明

Bazel 速查:基本约定、常用规则、属性、常用命令、进阶;支持搜索与分类筛选,点击即可复制。

  1. 按用途点分类:基本约定、常用规则、属性、常用命令、进阶。
  2. 点「命令」列复制到 BUILD 文件或终端。
  3. 记住标签格式://包路径:目标名,跨目录用绝对标签。
  4. 用 bazel query 查看依赖,用 .bazelrc 统一默认参数与缓存。

常见问题

Bazel 和普通构建工具差在哪?
Bazel 强调可复现、增量与多语言统一构建,配合远程缓存能极大加速大仓库(monorepo)。
visibility 有什么用?
控制哪些包能依赖本目标;默认私有,公开需显式设为 //visibility:public,避免依赖被随意引用。
需要联网吗?
速查内容本地可用;拉取外部依赖需联网。

延伸阅读

相关工具