在 Windows 上安裝 Bazel

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

本頁說明在 Windows 上安裝 Bazel 的需求和步驟。此外,也包含疑難排解和安裝 Bazel 的其他方式,例如使用 Chocolatey 或 Scoop。

安裝 Bazel

本節將說明在 Windows 上安裝時的必要條件、環境設定和詳細步驟。

檢查系統

建議:64 位元 Windows 10,1703 版 (Creators Update) 以上版本

如要查看 Windows 版本,請按照下列步驟操作:

  • 按一下「開始」按鈕。
  • 在搜尋框中輸入 winver,然後按下 Enter 鍵。
  • 「關於 Windows」方塊隨即顯示,內含 Windows 版本資訊。

安裝必要項目

下載 Bazel

建議做法使用 Bazelisk

或者,你也可以:

設定環境

如要讓 Bazel 預設可從命令提示字元或 PowerShell 輕鬆存取,可以將 Bazel 二進位檔重新命名為 bazel.exe,並新增至預設路徑。

set PATH=%PATH%;path to the Bazel binary

您也可以變更系統 PATH 環境變數,讓變更永久生效。請參閱這篇文章,瞭解如何設定環境變數。

完成

「成功:您已安裝 Bazel。」

如要檢查安裝是否正確,請嘗試執行下列指令:

bazel version

接著,請參閱下列更多提示和指引:

安裝編譯器和語言執行階段

視您要建構的語言而定,您需要:

  • MSYS2 x86_64

    MSYS2 是 Windows 適用的軟體發行版本和建構平台。其中包含 Bash 和常見的 Unix 工具 (例如 greptargit)。

    如要建構、測試或執行依附於 Bash 的目標,您需要 MSYS2。通常是 genrulesh_binarysh_test,但可能還有更多 (例如 Starlark 規則)。如果建構目標需要 Bash,但 Bazel 找不到,就會顯示錯誤。

  • 常見的 MSYS2 套件

    您可能需要這些工具,才能建構及執行依附於 Bash 的目標。MSYS2 預設不會安裝這些工具,因此您需要手動安裝。如果專案依附於 PATH 中的 Bash 工具,則需要執行這個步驟 (例如 TensorFlow)。

    開啟 MSYS2 終端機並執行下列指令:

    pacman -S zip unzip patch diffutils git

    選用:如要從 CMD 或 Powershell 使用 Bazel,同時仍可使用 Bash 工具,請務必將 MSYS2_INSTALL_PATH/usr/bin 新增至 PATH 環境變數。

  • Build Tools for Visual Studio 2019

    您需要這個工具,才能在 Windows 上建構 C++ 程式碼。

    也支援:

    • Visual C++ Build Tools 2017 (或更新版本) 和 Windows 10 SDK
  • 適用於 Windows x64 的 Java SE Development Kit 11 (JDK)

    您需要這個工具,才能在 Windows 上建構 Java 程式碼。

    也支援 Java 8、9 和 10

  • 適用於 Windows x86-64 的 Python 3.6

    您需要這個工具,才能在 Windows 上建構 Python 程式碼。

    也支援:適用於 Windows x86-64 的 Python 2.7 以上版本

疑難排解

Bazel 找不到 Bash 或 bash.exe

可能原因

  • 您安裝 MSYS2 時,並非使用預設安裝路徑

  • 您安裝的是 MSYS2 i686,而非 MSYS2 x86_64

  • 您安裝的是 MSYS,而非 MSYS2

解決方式

確認您已安裝 MSYS2 x86_64。

如果還是無法解決問題:

  1. 依序前往「開始」選單 >「設定」。

  2. 找出「Edit environment variables for your account」(編輯帳戶的環境變數) 設定

  3. 查看頂端的清單 (「<使用者名稱> 的使用者變數」),然後按一下下方的「新增...」按鈕。

  4. 在「變數名稱」中輸入 BAZEL_SH

  5. 按一下「瀏覽檔案...」

  6. 前往 MSYS2 目錄,然後前往下方的 usr\bin

    舉例來說,這可能是系統中的 C:\msys64\usr\bin

  7. 選取 bash.exebash 檔案,然後按一下「確定」

  8. 「變數值」欄位現在會顯示 bash.exe 的路徑。按一下「確定」關閉視窗。

  9. 如果您開啟新的 cmd.exe 或 PowerShell 終端機,並立即執行 Bazel,系統會找到 Bash。

Bazel 找不到 Visual Studio 或 Visual C++

可能原因

  • 您安裝了多個版本的 Visual Studio

  • 您安裝及移除過各種版本的 Visual Studio

  • 您安裝了各種版本的 Windows SDK

  • 您安裝 Visual Studio 時,並非使用預設安裝路徑

解決方式

  1. 依序前往「開始」選單 >「設定」。

  2. 找出「Edit environment variables for your account」(編輯帳戶的環境變數) 設定

  3. 查看頂端的清單 (「<使用者名稱> 的使用者變數」),然後按一下下方的「新增...」按鈕。

  4. 在「變數名稱」中輸入 BAZEL_VC

  5. 按一下「Browse Directory...」(瀏覽目錄...)。

  6. 前往 Visual Studio 的 VC 目錄。

    例如,這可能是系統中的 C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC

  7. 選取 VC 資料夾,然後按一下「確定」

  8. 「變數值」欄位現在會顯示 VC 的路徑。按一下「確定」關閉視窗。

  9. 如果您開啟新的 cmd.exe 或 PowerShell 終端機,然後執行 Bazel,系統就會找到 Visual C++。

安裝 Bazel 的其他方式

使用 Chocolatey

  1. 安裝 Chocolatey 套件管理工具

  2. 安裝 Bazel 套件:

    choco install bazel

    這項指令會安裝最新版本的 Bazel 和其依附元件,例如 MSYS2 殼層。但這不會安裝 Visual C++。

如要進一步瞭解 Chocolatey 套件,請參閱 Chocolatey 安裝和套件維護指南

使用 Scoop

  1. 使用下列 PowerShell 指令安裝 Scoop 套件管理員:

    iex (new-object net.webclient).downloadstring('https://get.scoop.sh')
  2. 安裝 Bazel 套件:

    scoop install bazel

如要進一步瞭解 Scoop 套件,請參閱 Scoop 安裝和套件維護指南

從原始碼建構

如要從頭建構 Bazel,而非安裝,請參閱「從來源編譯」。