在 Ubuntu 上安装 Bazel

本页介绍了在 Ubuntu 上安装 Bazel 的选项。 此外,如果需要,它还提供了 Bazel 补全脚本和二进制安装程序的链接, 作为备用选项(例如,如果您没有管理员访问权限)。

支持的 Ubuntu Linux 平台:

  • 22.04 (LTS)
  • 20.04 (LTS)
  • 18.04 (LTS)

Bazel 应与其他 Ubuntu 版本以及 Debian “stretch”及更高版本兼容,但未经测试,不保证能正常运行。

使用以下方法之一在 Ubuntu 上安装 Bazel:

注意 :对于基于 Arm 的系统,APT 仓库不包含 arm64 版本,也没有可用的二进制安装程序。请使用 Bazelisk 或 从源代码进行编译。

Bazel 附带两个补全脚本。安装 Bazel 后,您可以:

使用 Bazel 的 apt 仓库

第 1 步:添加 Bazel 发行版 URI 作为软件包源

注意:这是一次性设置步骤。

sudo apt install apt-transport-https curl gnupg -y
curl -fsSL https://bazel.build/bazel-release.pub.gpg | gpg --dearmor >bazel-archive-keyring.gpg
sudo mv bazel-archive-keyring.gpg /usr/share/keyrings
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/bazel-archive-keyring.gpg] https://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list

组件名称“jdk1.8”仅出于旧版原因而保留,与支持或包含的 JDK 版本无关。Bazel 版本与 Java 版本无关。 更改“jdk1.8”组件名称会破坏仓库的现有用户。

第 2 步:安装和更新 Bazel

sudo apt update && sudo apt install bazel

安装后,您可以升级到较新版本的 Bazel,作为正常系统更新的一部分:

sudo apt update && sudo apt full-upgrade

bazel 软件包始终安装最新稳定版本的 Bazel。除了最新版本之外,您 还可以安装特定的旧版本 Bazel, 例如:

sudo apt install bazel-1.0.0

这会在您的系统上将 Bazel 1.0.0 安装为 /usr/bin/bazel-1.0.0。如果您需要特定版本的 Bazel 来构建项目,这会非常有用,例如,因为该项目使用 .bazelversion 文件来明确说明应使用哪个 Bazel 版本进行构建。

您也可以选择通过创建符号链接将 bazel 设置为特定版本:

sudo ln -s /usr/bin/bazel-1.0.0 /usr/bin/bazel
bazel --version  # 1.0.0

第 3 步:安装 JDK(可选)

Bazel 包含私有捆绑的 JRE 作为其运行时,不需要您 安装任何特定版本的 Java。

但是,如果您想使用 Bazel 构建 Java 代码,则必须安装 JDK。

sudo apt install default-jdk

使用二进制安装程序

通常,您应使用 apt 仓库,但二进制安装程序 如果您没有机器的管理员权限或 无法添加自定义仓库,则可能会很有用。

您可以从 Bazel 的 GitHub 发布页面下载二进制安装程序。

安装程序包含 Bazel 二进制文件,并将其解压缩到您的 $HOME/bin 文件夹中。必须手动安装一些额外的库,Bazel 才能正常运行。

第 1 步:安装必需的软件包

Bazel 需要 C++ 编译器和 unzip / zip 才能正常运行:

sudo apt install g++ unzip zip

如果您想使用 Bazel 构建 Java 代码,请安装 JDK:

sudo apt-get install default-jdk

第 2 步:运行安装程序

接下来,下载名为 bazel-version-installer-linux-x86_64.sh 的 Bazel 二进制安装程序 从 GitHub 上的 Bazel 发布页面

按如下方式运行:

chmod +x bazel-version-installer-linux-x86_64.sh
./bazel-version-installer-linux-x86_64.sh --user

--user 标志会将 Bazel 安装到系统上的 $HOME/bin 目录,并 将 .bazelrc 路径设置为 $HOME/.bazelrc。使用 --help 命令可查看 其他安装选项。

第 3 步:设置环境

如果您使用 --user 标志(如上所示)运行 Bazel 安装程序,则 Bazel 可执行文件会安装在您的 $HOME/bin 目录中。 最好将此目录添加到默认路径,如下所示:

export PATH="$PATH:$HOME/bin"

您还可以将此命令添加到 ~/.bashrc~/.zshrc 文件,使其 永久生效。

使用 Bazel Docker 容器

我们会针对每个 Bazel 版本在 gcr.io/bazel-public/bazel 中发布安装了 Bazel 的 Docker 容器。 您可以按如下方式使用 Docker 容器:

$ docker pull gcr.io/bazel-public/bazel:<bazel version>

Docker 容器通过 以下步骤 构建。