使用Bazel编译Gerrit v3.4.1源码首次运行报错如何解决?
问题根因
- Gerrit v3.4.1的官方构建逻辑仅适配类Unix环境(Linux、macOS),未兼容Windows原生命令行环境。你遇到的报错核心是:构建脚本中调用的
mkdir -p是类Unix系统的标准命令,Windows cmd/PowerShell自带的mkdir命令不支持-p参数,Bazel执行命令时找不到对应工具触发失败。 - 该问题不属于Bazel或Gerrit源码的故障,你的操作步骤符合官方文档要求,只是编译环境不在官方支持范围内,开箱即用的预期仅适用于类Unix编译环境。
可行解决方案
- 优先选用WSL2环境编译:在Windows上启用WSL2安装Ubuntu发行版,配置好JDK、Python、Bazel依赖后,直接执行官方给出的编译命令即可正常完成构建。
- 若需在Windows原生环境编译:安装Git for Windows,将安装路径下的
usr/bin目录加入系统PATH环境变量,该目录内置了适配Windows的类Unix基础工具包。配置完成后重启终端,执行bazel clean清理之前的构建缓存,再重新执行编译命令即可。 - 也可使用Docker构建:直接使用Gerrit社区公开的构建镜像执行编译,无需手动配置各类依赖环境。
内容的提问来源于stack exchange,提问作者Kérdezösködő Indián
相关产品推荐
相关产品推荐

