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

問題を報告 ソースを表示

Bazel のインストール

Ubuntu、Windows、macOS に Bazel をインストールする場合は、Bazelisk をおすすめします。適切なバージョンの 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 の問題にコメントして、移行の問題を報告します。

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