BazelをUbuntu 20.04にインストールする

生産性UP

「インストール作業中に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の公式をご覧ください。
丁寧に解説してくれています。

タイトルとURLをコピーしました