在 Ubuntu 上安装 Bazel

<ph type="x-smartling-placeholder"></ph> 报告问题 查看来源 敬上 每晚 · 7.3。 · 7.2 条 · 7.1。 · 7.0。 · 6.5

本页面介绍了在 Ubuntu 上安装 Bazel 的选项。 它还提供指向 Bazel 完成脚本和二进制安装程序的链接, (例如,如果您没有管理员访问权限)。

支持的 Ubuntu Linux 平台:

  • 20.04(LTS)
  • 18.04(LTS)

Bazel 应与其他 Ubuntu 版本和 Debian 兼容 “拉伸”及更高版本,但未经测试,也不能保证可以正常工作。

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

注意:对于基于 ARM 的系统,APT 代码库不包含 arm64 版本,并且没有可用的二进制安装程序。您可以使用 Bazelisk 或 从源代码编译。

Bazel 带有两个完成脚本。安装 Bazel 后,您可以执行以下操作:

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

使用 Bazel 的 apt 代码库

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

sudo apt install apt-transport-https curl gnupg
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。

# Ubuntu 16.04 (LTS) uses OpenJDK 8 by default:
sudo apt install openjdk-8-jdk
# Ubuntu 18.04 (LTS) uses OpenJDK 11 by default:
sudo apt install openjdk-11-jdk

使用二进制安装程序

通常,您应该使用 apt 代码库,但使用二进制安装程序 如果您没有计算机的管理员权限,或者 无法添加自定义代码库。

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

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

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

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

sudo apt install g++ unzip zip

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

# Ubuntu 16.04 (LTS) uses OpenJDK 8 by default:
sudo apt-get install openjdk-8-jdk
# Ubuntu 18.04 (LTS) uses OpenJDK 11 by default:
sudo apt-get install openjdk-11-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 文件中,使其 是永久性的。