aboutsummaryrefslogtreecommitdiffhomepage
path: root/site/docs/install-os-x.md
blob: fe2c0f824f8f524ebf603f68a980a27f91372de6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
---
layout: documentation
title: Installing Bazel on macOS
---

# <a name="mac-os-x"></a>Installing Bazel on macOS

Install Bazel on macOS using one of the following methods:

*   [Use Homebrew (recommended)](#install-on-mac-os-x-homebrew)
*   [Use the binary installer](#install-with-installer-mac-os-x)
*   [Compile Bazel from source](install-compile-source.md)

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

*   access the [bash completion script](install.md)
*   install the [zsh completion script](install.md)

## <a name="install-on-mac-os-x-homebrew"></a>Installing using Homebrew

### 1. Install JDK 8

JDK 8 can be downloaded from [Oracle's JDK
Page](http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html).

Look for "macOS" under "Java SE Development Kit". This will download a DMG
image with an install wizard.

### 2. Install Homebrew on macOS

Installing Homebrew is a one-time setup:

```bash
/usr/bin/ruby -e "$(curl -fsSL \
https://raw.githubusercontent.com/Homebrew/install/master/install)"
```

### 3. Install Bazel Homebrew Package

```bash
brew install bazel
```

You are all set. You can confirm Bazel is installed successfully by running

```bash
bazel version
```

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

```bash
brew upgrade bazel
```

## <a name="install-with-installer-mac-os-x"></a>Installing using binary installer

The binary installers are on Bazel's [GitHub releases page](https://github.com/bazelbuild/bazel/releases).

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

### 1. Install XCode command line tools

Xcode can be downloaded from the [Apple Developer
Site](https://developer.apple.com/xcode/downloads/) (this link redirects to
their App Store).

For `objc_*` and `ios_*` rule support, you must have Xcode 6.1 or later with iOS
SDK 8.1 installed on your system.

Once XCode is installed you can trigger signing the license with the following
command:

```
sudo gcc --version
```

### 2. Download the Bazel installer

**Note:** In the installer file names listed in this document, replace
`<version>` with the appropriate Bazel version number.

Go to Bazel's [GitHub releases page](https://github.com/bazelbuild/bazel/releases).

Download the binary installer `bazel-<version>-installer-darwin-x86_64.sh`. This
installer contains the Bazel binary and the required JDK, and can be used even
if a JDK is already installed.

Note that `bazel-<version>-without-jdk-installer-darwin-x86_64.sh` is a version
of the installer without embedded JDK 8. Only use this installer if you already
have JDK 8 installed.

### 3. Run the installer

Run the installer:

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

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.

### 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:

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

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

You are all set. You can confirm Bazel is installed successfully by running
```bash
bazel version
```

When Bazel is installed using the binary installer, updating Bazel is only
possible by downloading and installing a new release.