layout: documentation title: Installing Bazel on Ubuntu

Supported Ubuntu Linux platforms:

  • 18.04 (LTS)
  • 16.04 (LTS)

Install Bazel on Ubuntu using one of the following methods:

Bazel comes with two completion scripts. After installing Bazel, you can:

The binary installers are on Bazel's GitHub releases page.

The installer contains the Bazel binary. Some additional libraries must also be installed for Bazel to work.

Step 1: Install required packages

Bazel needs a C++ compiler and unzip / zip in order to work:

sudo apt-get install g++ unzip zip

If you want to build Java code using Bazel, install a JDK:

# Ubuntu 16.04 (LTS) uses OpenJDK 8 by default:
sudo apt-get install openjdk-8-jdk

# Ubuntu 18.04 (LTS) uses OpenJDK 11 by default:
sudo apt-get install openjdk-11-jdk

Step 2: Download Bazel

Next, download the Bazel binary installer named bazel-<version>-installer-linux-x86_64.sh from the Bazel releases page on GitHub.

Step 3: Run the installer

Run the Bazel installer as follows:

chmod +x bazel-<version>-installer-linux-x86_64.sh
./bazel-<version>-installer-linux-x86_64.sh --user

The --user flag installs Bazel to the $HOME/bin directory on your system and sets the .bazelrc path to $HOME/.bazelrc. Use the --help command to see additional installation options.

Step 4: Set up your environment

If you ran the Bazel installer with the --user flag as above, the Bazel executable is installed in your $HOME/bin directory. It's a good idea to add this directory to your default paths, as follows:

export PATH="$PATH:$HOME/bin"

You can also add this command to your ~/.bashrc file.

Step 1: Install the 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-get install openjdk-8-jdk

# Ubuntu 18.04 (LTS) uses OpenJDK 11 by default:
sudo apt-get install openjdk-11-jdk

Step 2: Add Bazel distribution URI as a package source

Note: This is a one-time setup step.

sudo apt-get install curl
curl https://bazel.build/bazel-release.pub.gpg | sudo apt-key add -
echo "deb [arch=amd64] https://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list

Note: The component name “jdk1.8” is kept for legacy reasons only and doesn't relate to supported or included JDK versions anymore. In the past, when Bazel did not yet bundle a private JRE, we had two release versions, one compatible with JDK 7 and one with JDK 8. However, since we dropped Java 7 support and started bundling a private runtime, Bazel releases are Java version agnostic. Changing the “jdk1.8” component name would break existing users of the repo though.

Step 3: Install and update Bazel

sudo apt-get update && sudo apt-get install bazel

Once installed, you can upgrade to a newer version of Bazel with the following command:

sudo apt-get install --only-upgrade bazel