「インストール作業中にbazelというコマンドが出てきた!!」
「Bazelに興味はないけど、とりあえずbazelコマンドが必要!!」
このような方に向けた記事となっています。
この記事では、Bazelについては深く説明しません。
bazelの必要最低限だけ説明しておきます。
とにかく、bazelコマンドが使えることを目的にした内容です。
本記事の内容
- Bazelとは?
- Bazelのシステム要件
- Bazelのインストール
- Bazelの動作確認
それでは、上記に沿って解説していきます。
Bazelとは?
お馴染みのmakeコマンドと同じようなモノです。
Bazelは、Googleが開発したmakeコマンドと考えればよいでしょう。
この説明で満足した方は、「Bazelのシステム要件」に進んでください。
ここからは、ありきたりなBazelの説明をしておきます。
- ビルド・テストの高速化
- 複数言語対応
- 拡張性(規模的・機能的)
複数言語対応に関しては、makeコマンドと比較すればわかりやすいです。
makeコマンドは、C言語やC++のプログラムをビルドします。
それに対して、Bazelは以下のプログラム言語に対応しています。
(一部抜粋)
- C/C++
- Java
- Objective-C
- Go
- Rust
まず、この時点でmakeコマンドより勝っています。
もっとBazelについて知りたい方は、公式サイトを熟読しましょう。
以上、 Bazelについてとりあえず知っておくべきことを説明しました。
次は、 Bazelのシステム要件を確認します。
Bazelのシステム要件
現時点(2021年4月11日)でのBazelの最新バージョンは、4.0.0となります。
この最新バージョンは、2021年1月21日にリリースされています。
サポートOSに関しては、以下を含むクロスプラットフォーム対応です。
- Windows
- macOS
- Linux
ただし、公式にサポートしているLinuxはUbuntuになります。
それ以外のディストリビューションは、有志が対応しているようです。
Ubuntuのバージョンでは、以下がサポート対象となっています。
- 18.04 (LTS)
- 16.04 (LTS)
上記が公式サイトには記載されています。
でも、20.04 (LTS)でも問題ありません。
以下のバージョンで検証済です。
$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=20.04 DISTRIB_CODENAME=focal DISTRIB_DESCRIPTION="Ubuntu 20.04.2 LTS"
あとは、Ubuntuが大丈夫なら、Debianも基本的には問題ないでしょう。
ただし、それはDebian 9.0(stretch)以降の話になります。
以上、Bazelのシステム要件の説明でした。
次は、Bazelのインストールをしていきましょう。
Bazelのインストール
公式の手順に従います。
- Bazelの配布URIをパッケージソースとして追加
- Bazelのインストールとアップデート
それぞれを以下で説明します。
Bazelの配布URIをパッケージソースとして追加
aptコマンドでインストールできるように準備します。
下準備ということです。
sudo apt install curl gnupg curl -fsSL https://bazel.build/bazel-release.pub.gpg | gpg --dearmor > bazel.gpg sudo mv bazel.gpg /etc/apt/trusted.gpg.d/ echo "deb [arch=amd64] https://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list
なお、「jdk1.8」という記述は過去の名残になります。
おまじないのようなモノなので、気にせずにそのままコマンドを実行します。
Bazelのインストールとアップデート
aptコマンドが使える準備ができました。
では、aptコマンドでインストールをしていきます。
sudo apt update && sudo apt install bazel sudo apt update && sudo apt full-upgrade
これでBazelのインストールは終了です。
まとめ
上記は、Bazelの最低限のインストールになります。
C/C++のビルドに関しては、この状態でも対応可能です。
しかし、Javaは追加でインストール作業が必要となります。
もともと、BazelにはJRE(ランタイム)がバンドルされています。
独自JREであり、バージョンを私たちが気にする必要はありません。
ただ、これはあくまでランタイムに過ぎません。
JavaコードをBazelでビルドする場合には、JDKが必要になります。
これは必須ではなく、オプションでの対応となります。
以下が公式に記載されています。
# Ubuntu 16.04 (LTS) uses OpenJDK 8 by default: sudo apt install openjdk-8-jdk # Ubuntu 18.04 (LTS) uses OpenJDK 11 by default: sudo apt install openjdk-11-jdk
Ubuntu 20.04なら、何になるのでしょうね?
この部分は、Ubuntu 20.04の正式サポートを待つしかないでしょう。
以上、Bazelのインストールを説明しました。
最後に、Bazelの動作確認を行います。
Bazelの動作確認
まずは、bazelコマンドが使えるかどうかを確認します。
$ bazel --version bazel 4.0.0
インストールされたBazelのバージョンを確認できます。
これで、bazelコマンドが使えることが確認できました。
実際にBazelでビルドを行いたい場合は、Bazelの公式をご覧ください。
丁寧に解説してくれています。