Windows への Bazel のインストール

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

Bazel をインストールする

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

システムを確認する

推奨: 64 ビット Windows 10 バージョン 1703(Creators Update)以降

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

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

その他のサポート対象:

  • 64 ビット Windows 7 以降

  • 64 ビット Windows Server 2008 R2 以降

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

Bazel をダウンロードする

推奨: Bazelisk を使用する

代替手段:

環境の設定

デフォルトでコマンド プロンプトまたは PowerShell から Bazel に簡単にアクセスできるようにするには、Bazel バイナリの名前を bazel.exe に変更して、デフォルトのパスに追加します。

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

システムの PATH 環境変数を変更して、永続的にすることもできます。環境変数を設定する方法をご覧ください。

完了

「Success: You've installed Bazel.」

インストールが正しく行われたことを確認するには、次のコマンドを実行します。

bazel version

その他のヒントとガイダンスについては、以下をご覧ください。

コンパイラと言語ランタイムをインストールする

ビルドする言語に応じて、次のものが必要になります。

  • MSYS2 x86_64

    MSYS2 は、Windows 用のソフトウェア ディストリビューションとビルド プラットフォームです。Bash と一般的な Unix ツール(greptargit など)が含まれています。

    Bash に依存するターゲットをビルド、テスト、実行するには、MSYS2 が必要です。通常、これらは genrulesh_binarysh_test ですが、他にも Starlark ルールなどがあります。ビルドターゲットで Bash が必要で、Bazel が 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追加します。

  • Visual Studio 2019 用ビルドツール

    Windows で C++ コードをビルドするには、これが必要です。

    その他のサポート対象:

    • Visual C++ と Windows 10 SDK を搭載した Visual Studio 2015 以降

    • Visual C++ Build Tools 2015 以降と 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> のユーザー変数])で、その下の [新規...] ボタンをクリックします。

  4. [変数名] に「BAZEL_SH」と入力します。

  5. [ファイルの参照...] をクリックします。

  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. [変数名] に「BAZEL_VC」と入力します。

  5. [ディレクトリの参照...] をクリックします。

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