--- layout: documentation title: Installing Bazel --- # Installing Bazel See the instructions for installing Bazel on: * [Ubuntu Linux (16.04, 15.10, and 14.04)](install-ubuntu.md) * [Mac OS X](install-os-x.md) * [Windows (highly experimental)](install-windows.md) For other platforms, you can try to [compile from source](install-compile-source.md). Required Java version: * Java JDK 8 or later ([JDK 7](#jdk7) is still supported but deprecated). Extras: * [Bash completion](#bash) * [zsh completion](#zsh) For more information on using Bazel, see [Getting Started with Bazel](getting-started.html). ## Using Bazel with JDK 7 (deprecated) Bazel version _0.1.0_ runs without any change with JDK 7. However, future version will stop supporting JDK 7 when our CI cannot build for it anymore. The installer for JDK 7 for Bazel versions after _0.1.0_ is labeled
./bazel-version-jdk7-installer-os.sh
If you wish to use JDK 7, follow the same steps as for JDK 8 but with the _jdk7_ installer or using a different APT repository as described [here](#1-add-bazel-distribution-uri-as-a-package-source-one-time-setup). ## Getting bash completion Bazel comes with a bash completion script, which the installer copies into the `bin` directory. If you ran the installer with `--user`, this will be `$HOME/.bazel/bin`. If you ran the installer as root, this will be `/usr/local/bazel/bin`. Copy the `bazel-complete.bash` script to your completion folder (`/etc/bash_completion.d` directory under Ubuntu). If you don't have a completion folder, you can copy it wherever suits you and insert `source /path/to/bazel-complete.bash` in your `~/.bashrc` file (under OS X, put it in your `~/.bash_profile` file). If you built Bazel from source, the bash completion target is in the `//scripts` package: 1. Build it with Bazel: `bazel build //scripts:bazel-complete.bash`. 2. Copy the script `bazel-bin/scripts/bazel-complete.bash` to one of the locations described above. ## Getting zsh completion Bazel also comes with a zsh completion script. To install it: 1. Add this script to a directory on your $fpath: ``` fpath[1,0]=~/.zsh/completion/ mkdir -p ~/.zsh/completion/ cp scripts/zsh_completion/_bazel ~/.zsh/completion ``` You may have to call `rm -f ~/.zcompdump; compinit` the first time to make it work. 2. Optionally, add the following to your .zshrc. ``` # This way the completion script does not have to parse Bazel's options # repeatedly. The directory in cache-path must be created manually. zstyle ':completion:*' use-cache on zstyle ':completion:*' cache-path ~/.zsh/cache ```