Bazel のインストール(Ubuntu 24.04, 22.04 上)
Bazel 8 以降では,外部依存関係の管理方式が従来の WORKSPACE 方式から Bzlmod(MODULE.bazel ファイル)に移行しており,Bazel 9 では WORKSPACE 方式は削除された.本ページは MODULE.bazel を用いる手順で記述する.
前準備
Ubuntu のシステム更新
Ubuntu で OS のシステム更新を行うときは, 端末で,次のコマンドを実行する。これは、パッケージ情報を最新の状態に保ち、インストール済みのパッケージをセキュリティアップデートやバグ修正を含めて更新するためである。
# パッケージリストの情報を更新
sudo apt update
# インストール済みのパッケージを包括的に更新 (依存関係も考慮)
sudo apt full-upgrade
# カーネル更新等で実際に再起動が必要な場合のみ実行を推奨
# sudo shutdown -r now
curl, gnupg, apt-transport-https のインストール
Bazel の APT リポジトリを登録するために必要である. 端末で,次のコマンドを実行する.
# パッケージリストの情報を更新
sudo apt update
sudo apt -y install curl gnupg apt-transport-https
C/C++ コンパイラと Make とビルドツールのインストール
Bazel が C/C++ のビルドを行うときに使用する. インストールするには,端末で,次のコマンドを実行する.
# パッケージリストの情報を更新
sudo apt update
sudo apt -y install build-essential gcc g++ make zip unzip libtool texinfo dpkg-dev pkg-config
Bazel のインストール手順(APT リポジトリを使用)
公式の手順は https://bazel.build/install/ubuntu に記載されている.
- 署名鍵の登録とリポジトリの追加
端末で,次のコマンドを実行する.
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 は過去の互換性のために残されている名称であり,インストールされる Bazel が使用する Java のバージョンとは関係しない.この APT リポジトリは amd64 のみを提供する.Arm 系(arm64)の環境では,後述の Bazelisk を使用する.
- Bazel のインストール
端末で,次のコマンドを実行する.
sudo apt update sudo apt -y install bazelbazelパッケージは,その時点の最新の安定版がインストールされる.以降は通常のシステム更新(sudo apt full-upgrade)で更新される. - バージョンの確認
端末で,次のコマンドを実行する.
bazel --version
Bazelisk を使用する場合
Bazelisk は,プロジェクトの .bazelversion ファイルの記述に従って適切なバージョンの Bazel を自動的にダウンロードして実行するランチャーである.公式ドキュメントでは Bazelisk の使用が推奨されている.また,arm64 環境では APT リポジトリが利用できないため,Bazelisk が選択肢となる.
インストールするには,端末で,次のコマンドを実行する(x86_64 の場合.arm64 の場合は bazelisk-linux-arm64 に読み替える).
curl -fsSL -o bazelisk https://github.com/bazelbuild/bazelisk/releases/latest/download/bazelisk-linux-amd64
chmod +x bazelisk
sudo mv bazelisk /usr/local/bin/bazel
bazel --version
bazel)で併用すると,どちらが実行されるかが PATH の順序に依存する.どちらか一方を使用する.
動作チェック
https://bazel.build/start/ の記載に沿って,最小構成のビルドで動作を確認する.
- 作業用ディレクトリを作成し,MODULE.bazel ファイルを作成する
MODULE.bazelファイルが置かれたディレクトリが,Bazel のワークスペースのルートとして認識される. 端末で,次のコマンドを実行する.mkdir -p /tmp/bazel-test cd /tmp/bazel-test touch MODULE.bazel - 「BUILD」という名前のファイルを次の内容で作成する
genrule( name = "hello", outs = ["hello_world.txt"], cmd = "echo Hello World > $@", )
- ビルドを実行する
端末で,次のコマンドを実行する.
bazel build :hello
- 生成物を確認する
ビルド結果は,ワークスペース直下の
bazel-binディレクトリに置かれる. 端末で,次のコマンドを実行する.「Hello World」と表示されれば,動作している.cat bazel-bin/hello_world.txt