Nesta página, descrevemos como instalar o Bazel usando a origem e o e as dicas de solução de problemas comuns.
Para criar o Bazel a partir da origem, você pode realizar uma das seguintes ações:
Crie-o usando um binário atual do Bazel.
Crie-o sem um binário atual do Bazel, que é conhecido o bootstrapping.
Criar o Bazel usando o Bazel
Resumo
Acesse a versão mais recente do Bazel no página de lançamento do GitHub ou Bazelisk (link em inglês).
Faça o download das fontes do Bazel no GitHub (link em inglês) e extrair em algum lugar. Como alternativa, você pode clonar a árvore de origem em https://github.com/bazelbuild/bazel
Instale os mesmos pré-requisitos do bootstrapping (consulte para sistemas do tipo Unix ou para Windows)
Crie uma versão de desenvolvimento do Bazel usando o Bazel:
bazel build //src:bazel-dev
(oubazel build //src:bazel-dev.exe
ativado Windows)O binário resultante está em
bazel-bin/src/bazel-dev
. (oubazel-bin\src\bazel-dev.exe
no Windows). Você pode copiá-lo onde quer que e usar imediatamente, sem precisar de instalação.
Confira as instruções detalhadas abaixo.
Etapa 1: instalar a versão mais recente do Bazel
Objetivo: instalar ou fazer o download de uma versão de lançamento do Bazel. Verifique se é possível executar
digitando bazel
em um terminal.
Motivo: para criar o Bazel de uma árvore de origem do GitHub, você precisa de um Binário do Bazel. Você pode instalar um a partir de um gerenciador de pacotes ou fazer download de um a partir de o GitHub. Consulte Como instalar o Bazel. Ou você pode criar a partir zero (bootstrap)).
Solução de problemas:
Se não for possível executar o Bazel digitando
bazel
em um terminal:Talvez o diretório do binário do Bazel não esteja no PATH.
Isso não é um grande problema. Em vez de digitar
bazel
, você precisará digite o caminho completo.Talvez o binário do Bazel não seja chamado de
bazel
(em Unixes) oubazel.exe
(no Windows).Isso não é um grande problema. Você pode renomear o binário ou digitar do binário, em vez de
bazel
.Talvez o binário não seja executável (em Unixes).
Para tornar o binário executável, execute
chmod +x /path/to/bazel
.
Etapa 2: fazer o download das fontes do Bazel no GitHub
Se você estiver familiarizado com o Git, execute o comando git clone em https://github.com/bazelbuild/bazel
Se esse não for seu caso, faça o seguinte:
Faça o download do fontes mais recentes como um arquivo ZIP.
Extraia o conteúdo.
Por exemplo, crie um diretório
bazel-src
no seu diretório inicial e extrair lá.
Etapa 3: instalar pré-requisitos
Instale os mesmos pré-requisitos do bootstrapping (consulte abaixo): JDK, C++. compilador, MSYS2 (se estiver criando no Windows) etc.
Etapa 4a: criar o Bazel no Ubuntu Linux, macOS e em outros sistemas semelhantes ao Unix
Para instruções para Windows, consulte Criar Bazel no Windows.
Objetivo: executar o Bazel para criar um binário personalizado do Bazel (bazel-bin/src/bazel-dev
).
Instruções
Iniciar um terminal Bash
cd
no diretório em que você extraiu (ou clonou) as origens do Bazel.Por exemplo, se você extraiu as origens do diretório principal, execute:
cd ~/bazel-src
Crie o Bazel da origem:
bazel build //src:bazel-dev
Como alternativa, execute
bazel build //src:bazel --compilation_mode=opt
para gerar um binário menor, mas a criação é mais lenta.A saída será
bazel-bin/src/bazel-dev
(oubazel-bin/src/bazel
).
Etapa 4b: criar o Bazel no Windows
Para obter instruções para sistemas do tipo Unix, consulte Ubuntu Linux, macOS e outros sistemas semelhantes ao Unix
Objetivo: executar o Bazel para criar um binário personalizado do Bazel
(bazel-bin\src\bazel-dev.exe
).
Instruções
Inicie o prompt de comando (menu Iniciar > Executar > "cmd.exe")
cd
no diretório em que você extraiu (ou clonou) as origens do Bazel.Por exemplo, se você extraiu as origens do diretório principal, execute:
cd %USERPROFILE%\bazel-src
Crie o Bazel da origem:
bazel build //src:bazel-dev.exe
Como alternativa, você pode executar
bazel build //src:bazel.exe --compilation_mode=opt
para gerar um binário menor, mas a criação é mais lenta.A saída será
bazel-bin\src\bazel-dev.exe
(oubazel-bin\src\bazel.exe
).
Etapa 5: instalar o binário criado
Não é preciso instalar nada.
A saída da etapa anterior é um binário independente do Bazel. É possível copiar em qualquer diretório e usar imediatamente. (É útil se o diretório estiver em no PATH para poder executar o comando "bazel", everywhere.)
Criar o Bazel do zero (bootstrapping)
Também é possível criar o Bazel do zero, sem usar um binário atual dele.
Etapa 1: fazer o download das origens do Bazel (arquivo de distribuição)
Essa etapa é a mesma para todas as plataformas.
Baixar o
bazel-<version>-dist.zip
de GitHub, por exemplobazel-0.28.1-dist.zip
.Atenção:
- Há um arquivo de distribuição único e independente da arquitetura. Não há arquivos de distribuição específicos da arquitetura ou do SO.
- Essas origens não são iguais à árvore de origem do GitHub (link em inglês). Você precisará usar o arquivo de distribuição para inicializar o Bazel. Não é possível usar uma árvore de origem clonada do GitHub. O arquivo de distribuição contém arquivos de origem gerados que são necessários para o bootstrapping e não fazem parte da árvore de origem Git normal.
Descompacte o arquivo de distribuição em algum lugar do disco.
Verifique a assinatura feita pelo chave de liberação: 3D5919B448457EE0.
Etapa 2a: inicializar o Bazel no Ubuntu Linux, macOS e outros sistemas semelhantes ao Unix
Para instruções para Windows, consulte Inicialização do Bazel no Windows.
2.1. Instalar os pré-requisitos
Bash
compactar, descompactar
Conjunto de ferramentas de build C++
JDK. A versão 11 é obrigatória.
Python As versões 2 e 3 são compatíveis, a instalação de uma delas é o suficiente.
Por exemplo, no Ubuntu Linux, você pode instalar esses requisitos usando o seguinte comando:
sudo apt-get install build-essential openjdk-11-jdk python zip unzip
2.2. Inicializar o Bazel no Unix
Abra um shell ou uma janela de terminal.
cd
ao diretório em que você descompactou o arquivo de distribuição.Execute o script de compilação:
env EXTRA_BAZEL_ARGS="--tool_java_runtime_version=local_jdk" bash ./compile.sh
.
A saída compilada é colocada em output/bazel
. Esse é um sistema
Binário do Bazel sem um JDK incorporado. Você pode copiar ou usar em qualquer lugar
em vigor. Por conveniência, copie esse binário para um diretório que esteja no seu
PATH
(como /usr/local/bin
no Linux).
Para criar o binário bazel
de maneira reproduzível, defina também
SOURCE_DATE_EPOCH
no campo "Executar o script de compilação" etapa.
Etapa 2b: inicializar o Bazel no Windows
Para obter instruções para sistemas do tipo Unix, consulte Inicializar o Bazel no Ubuntu Linux, macOS e em outros sistemas semelhantes ao Unix.
2.1. Instalar os pré-requisitos
Os pacotes MSYS2 para compactar e descompactar. Execute o seguinte comando no shell do MSYS2:
pacman -S zip unzip patch
O compilador do Visual C++. Instalar o compilador do Visual C++ como parte do Visual Studio 2015 ou mais recente, ou instalando as Ferramentas de criação para Visual Studio 2017.
JDK. A versão 11 é obrigatória.
Python As versões 2 e 3 são compatíveis, a instalação de uma delas é o suficiente. Você precisa da versão nativa do Windows (disponível para download em https://www.python.org). Versões instaladas via pacman no MSYS2 não funcionará.
2.2. Inicializar o Bazel no Windows
Abra o shell do MSYS2.
Configure as variáveis de ambiente a seguir:
BAZEL_VS
ouBAZEL_VC
(não são a mesma coisa): defina como o caminho para o diretório do Visual Studio (BAZEL_VS) ou para o diretório Diretório C++ (BAZEL_VC). Definir um deles é suficiente.BAZEL_SH
: caminho dobash.exe
do MSYS2. Consulte o comando exemplos abaixo.Não o defina como
C:\Windows\System32\bash.exe
. (Você tem esse arquivo se você tiver instalado o Windows Subsystem para Linux.) O Bazel não oferece suporte esta versão debash.exe
.PATH
: adicione o diretório do Python.JAVA_HOME
: definido como o diretório do JDK.
Exemplo (usando BAZEL_VS):
export BAZEL_VS="C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools" export BAZEL_SH="$(cygpath -m $(realpath $(which bash)))" export PATH="/c/python27:$PATH" export JAVA_HOME="C:/Program Files/Java/jdk1.8.0_112"
ou (usando BAZEL_VC):
export BAZEL_VC="C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC" export BAZEL_SH="$(cygpath -m $(realpath $(which bash)))" export PATH="/c/python27:$PATH" export JAVA_HOME="C:/Program Files/Java/jdk1.8.0_112"
cd
ao diretório em que você descompactou o arquivo de distribuição.Execute o script de compilação:
env EXTRA_BAZEL_ARGS="--tool_java_runtime_version=local_jdk" ./compile.sh
A saída compilada é colocada em output/bazel.exe
. Esse é um sistema
Binário do Bazel sem um JDK incorporado. Você pode copiar ou usar em qualquer lugar
em vigor. Por conveniência, copie esse binário em um diretório que esteja no
seu PATH
.
Para criar o binário bazel.exe
de maneira reproduzível, defina também
SOURCE_DATE_EPOCH
no campo "Executar o script de compilação" etapa.
Não é necessário executar o Bazel pelo shell MSYS2. É possível executar o Bazel pela
Prompt de comando (cmd.exe
) ou PowerShell.