blob: 9ade7ac5bb447a1eeef3f1c73092f8da84870223 [file] [log] [blame] [view]
---
layout: documentation
title: Installing Bazel on macOS
category: getting-started
---
<h1 id="mac-os-x">Installing Bazel on macOS</h1>
This page describes how to install Bazel on macOS and set up your environment.
You can install Bazel on macOS using one of the following methods:
* [Use the binary installer (recommended)](#install-with-installer-mac-os-x)
* [Use Homebrew](#install-on-mac-os-x-homebrew)
* [Use Bazelisk](install-bazelisk.md)
* [Compile Bazel from source](install-compile-source.md)
Bazel comes with two completion scripts. After installing Bazel, you can:
* Access the [bash completion script](completion.md#bash)
* Install the [zsh completion script](completion.md#zsh)
<h2 id="install-with-installer-mac-os-x">Installing using the binary installer</h2>
The binary installers are on Bazel's
[GitHub releases page](https://github.com/bazelbuild/bazel/releases).
The installer contains the Bazel binary.<sup>1</sup> Some additional libraries
must also be installed for Bazel to work.
### Step 1: Install Xcode command line tools
If you don't intend to use `ios_*` rules, it is sufficient to install the Xcode
command line tools package by using `xcode-select`:
```shell
xcode-select --install
```
Otherwise, for `ios_*` rule support, you must have Xcode 6.1 or later with iOS
SDK 8.1 installed on your system.
Download Xcode from the
[App Store](https://apps.apple.com/us/app/xcode/id497799835) or the
[Apple Developer site](https://developer.apple.com/download/more/?=xcode).
Once Xcode is installed, accept the license agreement for all users with the
following command:
```shell
sudo xcodebuild -license accept
```
### Step 2: Download the Bazel installer
Next, download the Bazel binary installer named
`bazel-<version>-installer-darwin-x86_64.sh` from the
[Bazel releases page on GitHub](https://github.com/bazelbuild/bazel/releases).
Note: **on macOS Catalina**, due to Apple's new app notarization requirements,
you need to download the installer from the terminal using `curl`:
```shell
# Example installing version `3.2.0`. Replace the version below as appropriate.
export BAZEL_VERSION=3.2.0
curl -fLO "https://github.com/bazelbuild/bazel/releases/download/${BAZEL_VERSION}/bazel-${BAZEL_VERSION}-installer-darwin-x86_64.sh"
```
This is a temporary workaround until the macOS release flow supports
notarization ([#9304](https://github.com/bazelbuild/bazel/issues/9304)).
### Step 3: Run the installer
Run the Bazel installer as follows:
```shell
chmod +x "bazel-${BAZEL_VERSION}-installer-darwin-x86_64.sh"
./bazel-${BAZEL_VERSION}-installer-darwin-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.
If you are **on macOS Catalina** and get an error that _**“bazel-real” cannot be
opened because the developer cannot be verified**_, you need to re-download
the installer from the terminal using `curl` as a workaround; see Step 2 above.
### 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:
```shell
export PATH="$PATH:$HOME/bin"
```
You can also add this command to your `~/.bashrc`, `~/.zshrc`, or `~/.profile`
file.
All set! You can confirm Bazel is installed successfully by running the
following command:
```shell
bazel --version
```
To update to a newer release of Bazel, download and install the desired version.
<h2 id="install-on-mac-os-x-homebrew">Installing using Homebrew</h2>
### Step 1: Install Homebrew on macOS
Install Homebrew (a one-time step):
```shell
/bin/bash -c "$(curl -fsSL \
https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
```
### Step 2: Install Bazel via Homebrew
Install the Bazel package via Homebrew as follows:
```shell
$ brew install bazel
```
All set! You can confirm Bazel is installed successfully by running the
following command:
```shell
$ bazel --version
```
Once installed, you can upgrade to a newer version of Bazel using the
following command:
```shell
$ brew upgrade bazel
```