Bazel 速查
共 25 条 Bazel 构建系统用法,涵盖基本约定、常用规则、属性、常用命令、进阶。 支持搜索与分类筛选,点击即可复制。
基本约定
以 BUILD 文件与目标标签为核心。
| 命令 | 说明 |
|---|---|
| 仓库根的外部依赖声明(MODULE.bazel 为 bzlmod 新方式) | |
| 每个目录的构建规则文件 | |
| 目标标签://包路径:目标名 | |
| 相对与绝对标签 | |
| 引用外部仓库 |
常用规则
按语言选用规则。
| 命令 | 说明 |
|---|---|
| C++ 可执行 | |
| C++ 库 | |
| Python 可执行 | |
| Java 库 | |
| 自定义生成 |
属性
规则通用属性。
| 命令 | 说明 |
|---|---|
| 源文件 | |
| 依赖的其它目标 | |
| 运行时数据 | |
| 可见性控制 | |
| 仅测试使用 |
常用命令
构建、测试与查询。
| 命令 | 说明 |
|---|---|
| 构建目标 | |
| 构建并运行 | |
| 运行所有测试 | |
| 查询依赖图 | |
| 清理输出 / 彻底清理 |
进阶
选择与缓存。
| 命令 | 说明 |
|---|---|
| 按平台条件选择配置 | |
| 默认参数与远程缓存配置 | |
| 按 .bazelrc 里的配置构建 | |
| 复用构建产物、分布式执行 | |
| 批量构建并排除某目标 |
使用说明
Bazel 速查:基本约定、常用规则、属性、常用命令、进阶;支持搜索与分类筛选,点击即可复制。
- 按用途点分类:基本约定、常用规则、属性、常用命令、进阶。
- 点「命令」列复制到 BUILD 文件或终端。
- 记住标签格式://包路径:目标名,跨目录用绝对标签。
- 用 bazel query 查看依赖,用 .bazelrc 统一默认参数与缓存。
常见问题
- Bazel 和普通构建工具差在哪?
- Bazel 强调可复现、增量与多语言统一构建,配合远程缓存能极大加速大仓库(monorepo)。
- visibility 有什么用?
- 控制哪些包能依赖本目标;默认私有,公开需显式设为 //visibility:public,避免依赖被随意引用。
- 需要联网吗?
- 速查内容本地可用;拉取外部依赖需联网。