Bazelisk を使用した Bazel のインストール / 更新

Bazel をインストールする

Bazelisk は、 Ubuntu、Windows、macOS に Bazel をインストールする際におすすめの方法です。適切なバージョンの Bazel が自動的に ダウンロードされ、インストールされます。現在の作業ディレクトリに応じて Bazel のバージョンを切り替える必要がある場合や、Bazel を常に最新リリースに更新する場合は、Bazelisk を使用してください。

詳細については、 公式の README をご覧ください。

Bazel を更新する

Bazel には 下位互換性ポリシー があります(下位互換性のない変更の作成者の場合は、下位互換性のない変更のロールアウトに関するガイダンスをご覧ください)。このページでは、今後の下位互換性のない変更を使用してプロジェクトをテストおよび 移行する方法と、下位互換性のない変更の作成者にフィードバックを提供する方法に関するベスト プラクティスについて説明します。

Bazelisk で Bazel のバージョンを管理する

Bazelisk は、 Bazel のバージョンを管理するのに役立ちます。

Bazelisk では次のことができます。

  • Bazel を最新の LTS またはローリング リリースに自動更新する。
  • .bazelversion ファイルで指定された Bazel バージョンでプロジェクトをビルドする。ビルドの再現性 を確保するため、そのファイルをバージョン管理にチェックインします。
  • 下位互換性のない変更のためにプロジェクトを移行する(上記を参照)。
  • リリース候補を簡単に試す。

推奨される移行プロセス

LTS リリースのマイナー アップデートでは、現在のリリースとの互換性を損なうことなく、次のリリースに向けて プロジェクトを準備できます。ただし、LTS のメジャー バージョン間では 下位互換性のない変更が行われる可能性があります。

あるメジャー バージョンから別のメジャー バージョンに移行するには、次の手順を行います。

  1. リリースノートを読んで、次のバージョンに移行する方法についてアドバイスを得ます。
  2. 下位互換性のない大きな変更には、関連する --incompatible_* フラグ と対応する GitHub の問題が必要です:
    • 移行に関するガイダンスは、関連する GitHub の問題で確認できます。
    • 下位互換性のない変更の移行には、ツールが用意されています。たとえば、buildifier などです。
    • 移行に関する問題は、関連する GitHub の問題にコメントして報告してください。

移行後、次のメジャー リリースまでは 下位互換性を気にすることなく、プロジェクトのビルドを続行できます。