Windows への Bazel のインストール

問題を報告する ソースを表示 Nightly · 8.4 · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

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

Bazel のインストール

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

システムを確認する

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

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 を見つけられなかった場合、Bazel はエラーを表示します。

  • 一般的な 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. 上部のリスト(「User variables for <username>」)を確認し、その下の [New...] ボタンをクリックします。

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

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

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

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

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

  8. [Variable value] フィールドに 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. 上部のリスト(「User variables for <username>」)を確認し、その下の [New...] ボタンをクリックします。

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

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

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

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

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

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