このページでは、Ubuntu に Bazel をインストールするオプションについて説明します。また、Bazel 補完スクリプトとバイナリ インストーラへのリンクも提供されます(管理者権限がないなど、バックアップ オプションとして必要に応じて使用できます)。
サポートされている Ubuntu Linux プラットフォーム:
- 22.04(LTS)
- 20.04(LTS)
- 18.04(LTS)
Bazel は、他の Ubuntu リリースや Debian「Stretch」以降と互換性がありますが、テストされておらず、動作が保証されているわけではありません。
次のいずれかの方法で Ubuntu に Bazel をインストールします。
- 推奨: Bazelisk を使用する
- Google のカスタム APT リポジトリを使用する
- バイナリ インストーラを使用する
- Bazel Docker コンテナを使用する
- ソースから Bazel をコンパイルする
注: Arm ベースのシステムの場合、APT リポジトリには arm64
リリースが含まれておらず、バイナリ インストーラは使用できません。Bazelisk を使用するか、ソースからコンパイルします。
Bazel には 2 つの補完スクリプトが付属しています。Bazel をインストールすると、次のことができます。
- bash 補完スクリプトにアクセスする
- zsh 補完スクリプトをインストールする
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 コンテナの使用
Bazel バージョンごとに、Bazel がインストールされた Docker コンテナを gcr.io/bazel-public/bazel
に公開します。Docker コンテナは次のように使用できます。
$ docker pull gcr.io/bazel-public/bazel:<bazel version>
Docker コンテナはこちらの手順でビルドされます。