在 Ubuntu 上安裝 Bazel

回報問題 查看原始碼 Nightly · 8.0 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

本頁面說明在 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

這會在系統上以 /usr/bin/bazel-1.0.0 的形式安裝 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 容器是透過這些步驟建構而成。