本页介绍了在 Windows 上安装 Bazel 的要求和步骤。 其中还包含问题排查和安装 Bazel 的其他方法,例如使用 Chocolatey 或 Scoop。
安装 Bazel
本部分介绍了在 Windows 上安装时所需的前提条件、环境设置和详细步骤。
检查您的系统
建议:64 位 Windows 10,版本 1703(创作者更新)或更高版本
如需查看 Windows 版本,请执行以下操作:
- 点击“开始”按钮。
- 在搜索框中输入
winver
,然后按 Enter 键。 - 您应该会看到“关于 Windows”框,其中包含您的 Windows 版本信息。
还支持:
64 位 Windows 7 或更高版本
64 位 Windows Server 2008 R2 或更高版本
安装必备组件
下载 Bazel
推荐:使用 Bazelisk
或者,您也可以:
- 从 GitHub 下载 Bazel 二进制文件 (
bazel-version-windows-x86_64.exe
)。 - 从 Chocolatey 安装 Bazel
- 通过 Scoop 安装 Bazel
- 从源代码构建 Bazel
设置环境
默认情况下,为了能够从命令提示符或 PowerShell 轻松访问 Bazel,您可以将 Bazel 二进制文件重命名为 bazel.exe
,并将其添加到默认路径中。
set PATH=%PATH%;path to the Bazel binary
您还可以更改系统 PATH
环境变量,使其永久有效。了解如何设置环境变量。
完成
“Success: You've installed Bazel.”
如需检查安装是否正确,请尝试运行以下命令:
bazel version
接下来,您可以点击以下链接查看更多提示和指南:
安装编译器和语言运行时
根据您要构建的语言,您需要:
-
MSYS2 是适用于 Windows 的软件发行版和构建平台。它包含 Bash 和常用 Unix 工具(如
grep
、tar
、git
)。您需要 MSYS2 才能构建、测试或运行依赖于 Bash 的目标。通常,这些规则是
genrule
、sh_binary
、sh_test
,但可能还有更多规则(例如 Starlark 规则)。如果构建目标需要 Bash,但 Bazel 找不到它,则 Bazel 会显示错误。 常见 MSYS2 软件包
您可能需要这些工具来构建和运行依赖于 Bash 的目标。默认情况下,MSYS2 不会安装这些工具,因此您需要手动安装。依赖于
PATH
中的 Bash 工具的项目需要执行此步骤(例如 TensorFlow)。打开 MSYS2 终端并运行以下命令:
pacman -S zip unzip patch diffutils git
可选:如果您希望使用 CMD 或 Powershell 中的 Bazel,并且仍然能够使用 Bash 工具,请务必将
MSYS2_INSTALL_PATH/usr/bin
添加到PATH
环境变量中。-
您需要此工具才能在 Windows 上构建 C++ 代码。
还支持:
安装了 Visual C++ 和 Windows 10 SDK 的 Visual Studio 2015(或更高版本)
Visual C++ 生成工具 2015(或更高版本)和 Windows 10 SDK
适用于 Windows x64 的 Java SE Development Kit 11 (JDK)
在 Windows 上构建 Java 代码时需要使用此文件。
还支持:Java 8、9 和 10
适用于 Windows x86-64 的 Python 3.6
在 Windows 上构建 Python 代码时需要使用此文件。
也支持:适用于 Windows x86-64 的 Python 2.7 或更高版本
问题排查
Bazel 找不到 Bash 或 bash.exe
可能的原因:
您安装 MSYS2 的位置不是默认安装路径
您安装的是 MSYS2 i686,而不是 MSYS2 x86_64
您安装的是 MSYS,而不是 MSYS2
解决方案:
确保您已安装 MSYS2 x86_64。
如果这样做不起作用,请执行以下操作:
依次前往“开始”菜单 >“设置”。
找到“修改账号的环境变量”设置
查看顶部的列表(“<username> 的用户变量”),然后点击其下方的“新建...”按钮。
在“变量名称”中,输入
BAZEL_SH
点击“浏览文件...”
前往 MSYS2 目录,然后前往其下的
usr\bin
。例如,在您的系统上,此值可能是
C:\msys64\usr\bin
。选择
bash.exe
或bash
文件,然后点击“OK”(确定)“变量值”字段现在包含
bash.exe
的路径。点击“确定”关闭窗口。完成。
如果您现在打开新的 cmd.exe 或 PowerShell 终端并运行 Bazel,它会找到 Bash。
Bazel 找不到 Visual Studio 或 Visual C++
可能的原因:
您安装了多个版本的 Visual Studio
您已安装和移除了不同版本的 Visual Studio
您安装了不同版本的 Windows SDK
您安装 Visual Studio 时使用的路径不是默认安装路径
解决方案:
依次转至“开始”菜单 > 设置。
找到“修改账号的环境变量”设置
查看顶部的列表(“<username> 的用户变量”),然后点击其下方的“新建...”按钮。
在“变量名称”中,输入
BAZEL_VC
点击“浏览目录...”。
进入 Visual Studio 的
VC
目录。例如,在您的系统上,此值可能是
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC
。选择
VC
文件夹,然后点击“确定”“变量值”字段现在包含
VC
的路径。点击“确定”关闭窗口。完成。
如果您现在打开新的 cmd.exe 或 PowerShell 终端并运行 Bazel,它会找到 Visual C++。
安装 Bazel 的其他方式
使用 Chocolatey
安装 Chocolatey 软件包管理器
安装 Bazel 软件包:
choco install bazel
此命令会安装最新版本的 Bazel 及其依赖项,例如 MSYS2 shell。不过,这不会安装 Visual C++。
如需详细了解 Chocolatey 软件包,请参阅 Chocolatey 安装和软件包维护指南。
使用 Scoop
使用以下 PowerShell 命令安装 Scoop 软件包管理器:
iex (new-object net.webclient).downloadstring('https://get.scoop.sh')
安装 Bazel 软件包:
scoop install bazel
如需详细了解 Scoop 软件包,请参阅 Scoop 安装和软件包维护指南。
从源代码构建
要从头开始构建 Bazel,而不是安装,请参阅从源代码编译。