Project: /_project.yaml Book: /_book.yaml
{% include “_buttons.html” %}
This page describes the requirements and steps to install Bazel on Windows. It also includes troubleshooting and other ways to install Bazel, such as using Chocolatey or Scoop.
This section covers the prerequisites, environment setup, and detailed steps during installation on Windows.
Recommended: 64 bit Windows 10, version 1703 (Creators Update) or newer
To check your Windows version:
winver
in the search box and press Enter.Recommended: Use Bazelisk
Alternatively you can:
bazel-{{ '<var>' }}version{{ '</var>' }}-windows-x86_64.exe
) from GitHub{: .external}.To make Bazel easily accessible from command prompts or PowerShell by default, you can rename the Bazel binary to bazel.exe
and add it to your default paths.
set PATH=%PATH%;{{ '<var>' }}path to the Bazel binary{{ '</var>' }}
You can also change your system PATH
environment variable to make it permanent. Check out how to set environment variables.
“Success: You've installed Bazel.”
To check the installation is correct, try to run:
bazel {{ '<var>' }}version{{ '</var>' }}
Next, you can check out more tips and guidance here:
Depending on which languages you want to build, you will need:
MSYS2 x86_64{: .external}
MSYS2 is a software distro and building platform for Windows. It contains Bash and common Unix tools (like grep
, tar
, git
).
You will need MSYS2 to build, test, or run targets that depend on Bash. Typically these are genrule
, sh_binary
, sh_test
, but there may be more (such as Starlark rules). Bazel shows an error if a build target needs Bash but Bazel could not locate it.
Common MSYS2 packages
You will likely need these to build and run targets that depend on Bash. MSYS2 does not install these tools by default, so you need to install them manually. Projects that depend on Bash tools in PATH
need this step (for example TensorFlow).
Open the MSYS2 terminal and run this command:
pacman -S zip unzip patch diffutils git
Optional: If you want to use Bazel from CMD or Powershell and still be able to use Bash tools, make sure to add {{ '<var>' }}MSYS2_INSTALL_PATH{{ '</var>' }}/usr/bin
to your PATH
environment variable.
Build Tools for Visual Studio 2019{:#install-vc}
You will need this to build C++ code on Windows.
Also supported:
Java SE Development Kit 11 (JDK) for Windows x64{: .external}{:#install-jdk}
You will need this to build Java code on Windows.
Also supported: Java 8, 9, and 10
Python 3.6 for Windows x86-64{:#install-python}
You will need this to build Python code on Windows.
Also supported: Python 2.7 or newer for Windows x86-64
Possible reasons:
you installed MSYS2 not under the default install path
you installed MSYS2 i686 instead of MSYS2 x86_64
you installed MSYS instead of MSYS2
Solution:
Ensure you installed MSYS2 x86_64.
If that doesn't help:
Go to Start Menu > Settings.
Find the setting “Edit environment variables for your account”
Look at the list on the top (“User variables for <username>”), and click the “New...” button below it.
For “Variable name”, enter BAZEL_SH
Click “Browse File...”
Navigate to the MSYS2 directory, then to usr\bin
below it.
For example, this might be C:\msys64\usr\bin
on your system.
Select the bash.exe
or bash
file and click OK
The “Variable value” field now has the path to bash.exe
. Click OK to close the window.
Done.
If you open a new cmd.exe or PowerShell terminal and run Bazel now, it will find Bash.
Possible reasons:
you installed multiple versions of Visual Studio
you installed and removed various versions of Visual Studio
you installed various versions of the Windows SDK
you installed Visual Studio not under the default install path
Solution:
Go to Start Menu > Settings.
Find the setting “Edit environment variables for your account”
Look at the list on the top (“User variables for <username>”), and click the “New...” button below it.
For “Variable name”, enter BAZEL_VC
Click “Browse Directory...”
Navigate to the VC
directory of Visual Studio.
For example, this might be C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC
on your system.
Select the VC
folder and click OK
The “Variable value” field now has the path to VC
. Click OK to close the window.
Done.
If you open a new cmd.exe or PowerShell terminal and run Bazel now, it will find Visual C++.
Install the Chocolatey package manager
Install the Bazel package:
choco install bazel
This command will install the latest available version of Bazel and its dependencies, such as the MSYS2 shell. This will not install Visual C++ though.
See Chocolatey installation and package maintenance guide for more information about the Chocolatey package.
Install the Scoop package manager using the following PowerShell command:
iex (new-object net.webclient).downloadstring('https://get.scoop.sh')
Install the Bazel package:
scoop install bazel
See Scoop installation and package maintenance guide for more information about the Scoop package.
To build Bazel from scratch instead of installing, see Compiling from source.