在 Windows 上安裝 Bazel

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

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

安裝 Bazel

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

檢查系統

建議:64 位元 Windows 10,版本 1703 (創作者更新) 以上版本

如要查看 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)。

    您需要 MSYS2 才能建構、測試或執行依賴 Bash 的目標。通常是 genrulesh_binarysh_test,但可能還有其他規則 (例如 Starlark 規則)。如果建構目標需要 Bash,但 Bazel 無法找到該目標,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. 找出「編輯帳戶的環境變數」設定

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

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

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

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

    例如,這可能是系統上的 C:\msys64\usr\bin

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

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

  9. 如果您現在開啟新的 cmd.exe 或 PowerShell 終端機並執行 Bazel,它會找到 Bash。

Bazel 找不到 Visual Studio 或 Visual C++

可能的原因

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

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

  • 您安裝了多個版本的 Windows SDK

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

解決方式

  1. 依序前往「開始」功能表 >「設定」。

  2. 找出「編輯帳戶的環境變數」設定

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

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

  5. 按一下「瀏覽目錄...」

  6. 前往 Visual Studio 的 VC 目錄。

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

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

  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,而非安裝,請參閱從來源編譯