在 Ubuntu 上安裝 Bazel

本頁面說明在 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++ 編譯器和解壓縮 / 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:執行安裝程式

接著,從 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 檔案,使其永久有效。