在 Ubuntu 上安裝 Bazel

回報問題 查看來源 Nightly · 8.4 · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

本頁說明在 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:執行安裝程式

接著,從 GitHub 的 Bazel 版本頁面下載名為 bazel-version-installer-linux-x86_64.sh 的 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 容器

我們會在 gcr.io/bazel-public/bazel 發布已安裝 Bazel 的 Docker 容器,適用於每個 Bazel 版本。您可以按照以下方式使用 Docker 容器:

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

Docker 容器是透過這些步驟建構。