Ubuntu への Bazel のインストール

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

このページでは、Ubuntu に Bazel をインストールするためのオプションについて説明します。また、バックアップ オプションとして必要な場合(管理者権限がない場合など)に備えて、Bazel 補完スクリプトとバイナリ インストーラのリンクも提供します。

サポートされている Ubuntu Linux プラットフォーム:

  • 22.04(LTS)
  • 20.04(LTS)
  • 18.04(LTS)

Bazel は他の Ubuntu リリースと Debian の「stretch」以降と互換性があるはずですが、テストされておらず、動作は保証されていません。

次のいずれかの方法で Ubuntu に Bazel をインストールします。

注: Arm ベースのシステムの場合、APT リポジトリに arm64 リリースは含まれておらず、バイナリ インストーラは使用できません。Bazelisk を使用するか、ソースからコンパイルします。

Bazel には 2 つの補完スクリプトが付属しています。Bazel をインストールすると、次のことができます。

Bazel の apt リポジトリを使用する

ステップ 1: Bazel の配布 URI をパッケージ ソースとして追加する

注: これは 1 回限りの設定手順です。

sudo apt install apt-transport-https curl gnupg -y
curl -fsSL https://bazel.build/bazel-release.pub.gpg | gpg --dearmor >bazel-archive-keyring.gpg
sudo mv bazel-archive-keyring.gpg /usr/share/keyrings
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/bazel-archive-keyring.gpg] https://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list

コンポーネント名「jdk1.8」は、以前の理由からのみ保持されており、サポートされている JDK バージョンや含まれている JDK バージョンとは関係ありません。Bazel リリースは Java バージョンに依存しません。「jdk1.8」コンポーネントの名前を変更すると、リポジトリの既存のユーザーが使用できなくなります。

ステップ 2: Bazel をインストールして更新する

sudo apt update && sudo apt install bazel

インストールが完了したら、通常のシステム アップデートの一環として、Bazel の新しいバージョンにアップグレードできます。

sudo apt update && sudo apt full-upgrade

bazel パッケージは、常に Bazel の最新の安定版をインストールします。次のように、最新バージョンに加えて、特定の古いバージョンの Bazel をインストールできます。

sudo apt install bazel-1.0.0

これにより、Bazel 1.0.0 がシステムに /usr/bin/bazel-1.0.0 としてインストールされます。これは、プロジェクトのビルドに特定のバージョンの Bazel が必要な場合に便利です。たとえば、.bazelversion ファイルを使用して、ビルドに使用する Bazel のバージョンを明示的に指定する場合などです。

必要に応じて、シンボリック リンクを作成して bazel を特定のバージョンに設定できます。

sudo ln -s /usr/bin/bazel-1.0.0 /usr/bin/bazel
bazel --version  # 1.0.0

ステップ 3: JDK をインストールする(省略可)

Bazel には、ランタイムとしてプライベート バンドル JRE が含まれているため、特定のバージョンの Java をインストールする必要はありません。

ただし、Bazel を使用して Java コードをビルドする場合は、JDK をインストールする必要があります。

sudo apt install default-jdk

バイナリ インストーラを使用する

通常は apt リポジトリを使用する必要がありますが、マシンに対する管理者権限がない場合や、カスタム リポジトリを追加できない場合は、バイナリ インストーラが役立ちます。

バイナリ インストーラは、Bazel の GitHub リリースページからダウンロードできます。

インストーラには Bazel バイナリが含まれており、$HOME/bin フォルダに抽出されます。Bazel を動作させるには、一部の追加ライブラリを手動でインストールする必要があります。

ステップ 1: 必要なパッケージをインストールする

Bazel を動作させるには、C++ コンパイラと unzip / zip が必要です。

sudo apt install g++ unzip zip

Bazel を使用して Java コードをビルドする場合は、JDK をインストールします。

sudo apt-get install default-jdk

ステップ 2: インストーラを実行する

次に、GitHub の Bazel リリース ページから bazel-version-installer-linux-x86_64.sh という名前の Bazel バイナリ インストーラをダウンロードします。

次のように実行します。

chmod +x bazel-version-installer-linux-x86_64.sh
./bazel-version-installer-linux-x86_64.sh --user

--user フラグは、Bazel をシステム上の $HOME/bin ディレクトリにインストールし、.bazelrc パスを $HOME/.bazelrc に設定します。--help コマンドを使用して、追加のインストール オプションを確認します。

ステップ 3: 環境を設定する

上記のように --user フラグを指定して Bazel インストーラを実行した場合、Bazel 実行可能ファイルは $HOME/bin ディレクトリにインストールされます。このディレクトリをデフォルト パスに追加することをおすすめします。

export PATH="$PATH:$HOME/bin"

このコマンドを ~/.bashrc ファイルまたは ~/.zshrc ファイルに追加して、永続化することもできます。

Bazel Docker コンテナの使用

gcr.io/bazel-public/bazel で、各 Bazel バージョン用に Bazel がインストールされた Docker コンテナを公開しています。Docker コンテナは次のように使用できます。

$ docker pull gcr.io/bazel-public/bazel:<bazel version>

Docker コンテナは次の手順でビルドされます。