Windows への Bazel のインストール

7.3 · 7.2 · 7.1 · 7.0 · 6.5

このページでは、Windows に Bazel をインストールするための要件と手順について説明します。また、トラブルシューティングや、Chocolatey や Scoop を使用した Bazel のインストール方法も記載されています。

Bazel のインストール

このセクションでは、Windows でのインストールの前提条件、環境の設定、詳細な手順について説明します。

システムを確認する

推奨: 64 ビット Windows 10、バージョン 1703(クリエイター アップデート)以降

Windows のバージョンを確認する方法は次のとおりです。

  • [スタート] ボタンをクリックします。
  • 検索ボックスに「winver」と入力して Enter キーを押します。
  • Windows バージョン情報を含む [Windows について] ボックスが表示されます。

前提条件をインストールする

Bazel をダウンロードする

推奨: Bazelisk を使用する

代替手段:

環境の設定

デフォルトで、コマンド プロンプトや PowerShell から Bazel に簡単にアクセスできるようにするには、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 が Bash を見つけられない場合は、エラーが表示されます。

  • 一般的な MSYS2 パッケージ

    Bash に依存するターゲットをビルドして実行するには、これらのパッケージが必要になる可能性があります。MSYS2 にはこれらのツールがデフォルトでインストールされていないため、手動でインストールする必要があります。PATH の Bash ツールに依存するプロジェクト(TensorFlow など)では、この手順が必要です。

    MSYS2 ターミナルを開き、次のコマンドを実行します。

    pacman -S zip unzip patch diffutils git
    

    省略可: CMD または Powershell から Bazel を使用し、Bash ツールも使用できるようにするには、PATH 環境変数に MSYS2_INSTALL_PATH/usr/bin を追加してください。

  • 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 x86_64 ではなく MSYS2 i686 をインストールしている

  • MSYS2 の代わりに MSYS をインストールしました

解決策:

MSYS2 x86_64 がインストールされていることを確認します。

それでも解決しない場合は、次の手順を試してください。

  1. スタートメニュー > [設定] に移動します。

  2. [アカウントの環境変数を編集] 設定を見つけます。

  3. 上部のリスト([<username>] のユーザー属性)を確認し、その下にある [New...] ボタンをクリックします。

  4. [Variable name] に「BAZEL_SH」と入力します。

  5. [Browse File...] をクリックします。

  6. MSYS2 ディレクトリに移動し、その下の usr\bin に移動します。

    たとえば、システムでは C:\msys64\usr\bin になります。

  7. bash.exe ファイルまたは bash ファイルを選択して [OK] をクリックします。

  8. [変数値] フィールドに bash.exe へのパスが追加されました。[OK] をクリックしてウィンドウを閉じます。

  9. これだけです。

    新しい cmd.exe または PowerShell ターミナルを開いて Bazel を実行すると、Bash が見つかります。

Bazel が Visual Studio または Visual C++ を見つけない

考えられる理由:

  • 複数のバージョンの Visual Studio をインストールしている

  • さまざまなバージョンの Visual Studio をインストールして削除した

  • さまざまなバージョンの Windows SDK をインストールしている

  • Visual Studio をデフォルトのインストール パス以外にインストールしている

解決策:

  1. スタートメニュー > [設定] に移動します。

  2. [アカウントの環境変数を編集] 設定を見つけます。

  3. 上部にあるリスト(<username> のユーザー変数)を確認し、その下にある [新規...] ボタンをクリックします。

  4. [Variable name] に「BAZEL_VC」と入力します。

  5. [Browse Directory...] をクリックします。

  6. Visual Studio の VC ディレクトリに移動します。

    たとえば、システムでは C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC になります。

  7. VC フォルダを選択して [OK] をクリックします。

  8. [変数の値] フィールドに VC へのパスが表示されます。[OK] をクリックしてウィンドウを閉じます。

  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 をゼロからビルドするには、ソースからコンパイルするをご覧ください。