Step 1: Add Bazel distribution URI as a package source
Note: This is a one-time setup step.
sudo apt install apt-transport-https 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
The component name “jdk1.8” is kept only for legacy reasons and doesn’t relate to supported or included JDK versions. Bazel releases are Java-version agnostic. Changing the “jdk1.8” component name would break existing users of the repo.
Step 2: Install and update Bazel
sudo apt update && sudo apt install bazel
Once installed, you can upgrade to a newer version of Bazel as part of your normal system updates:
sudo apt update && sudo apt full-upgrade
The bazel package always installs the latest stable version of Bazel. You can install specific, older versions of Bazel in addition to the latest one, such as this:
sudo apt install bazel-1.0.0
This installs Bazel 1.0.0 as /usr/bin/bazel-1.0.0 on your system. This can be useful if you need a specific version of Bazel to build a project, for example because it uses a .bazelversion file to explicitly state with which Bazel version it should be built.
Optionally, you can set bazel to a specific version by creating a symlink:
sudo ln -s /usr/bin/bazel-1.0.0 /usr/bin/bazel
bazel --version # 1.0.0
Step 3: Install a JDK (optional)
Bazel includes a private, bundled JRE as its runtime and doesn’t require you to install any specific version of Java.
However, if you want to build Java code using Bazel, you have to install a 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
\