在 Ubuntu 上安裝 Bazel

回報問題 查看原始碼 。 。 。 。 夜間。 。 7.3 。 。 7.2 。 。 7.1 。 。 7.06.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 外,也可安裝特定舊版 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。

# 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++ 編譯器和解壓縮 / 壓縮檔,才能運作:

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 安裝程式, 執行檔安裝在您的 $HOME/bin 目錄中。 建議您將這個目錄新增到預設路徑中,如下所示:

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

您也可以在 ~/.bashrc~/.zshrc 檔案中新增這個指令,藉此建立檔案 永久有效