Esta página descreve como instalar o Bazel da origem e oferece dicas de solução de problemas comuns.
Para criar o Bazel da origem, faça uma destas ações:
Crie sem um binário do Bazel, o que é conhecido como inicialização.
Criar o Bazel usando o Bazel
Resumo
Acesse a versão mais recente do Bazel na página de versões do GitHub ou com o Bazelisk.
Faça o download das origens do Bazel no GitHub e extraia em algum lugar. Como alternativa, você pode clonar a árvore de origem do Git em https://github.com/bazelbuild/bazel.
Instale os mesmos pré-requisitos da inicialização (consulte para sistemas semelhantes ao Unix ou para Windows).
Crie um build de desenvolvimento do Bazel usando o Bazel:
bazel build //src:bazel-dev(oubazel build //src:bazel-dev.exeno Windows)O binário resultante está em
bazel-bin/src/bazel-dev(oubazel-bin\src\bazel-dev.exeno Windows). Você pode copiar para onde quiser e usar imediatamente sem precisar instalar.
As instruções detalhadas estão abaixo.
Etapa 1: acessar 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 em uma árvore de origem do GitHub, você precisa de um binário do Bazel pré-existente. É possível instalar um em um gerenciador de pacotes ou fazer o download de um no GitHub. Consulte Instalar o Bazel. Ou você pode criar do zero (inicialização).
Solução de problemas:
Se não for possível executar o Bazel digitando
bazelem um terminal:Talvez o diretório binário do Bazel não esteja no PATH.
Esse não é um problema grave. Em vez de digitar
bazel, você precisará digitar o caminho completo.Talvez o binário do Bazel não seja chamado de
bazel(em Unix) oubazel.exe(no Windows).Esse não é um problema grave. Você pode renomear o binário ou digitar o nome dele em vez de
bazel.Talvez o binário não seja executável (em Unix).
Você precisa tornar o binário executável executando
chmod +x /path/to/bazel.
Etapa 2: fazer o download das origens do Bazel no GitHub
Se você estiver familiarizado com o Git, basta clonar https://github.com/bazelbuild/bazel.
Se esse não for seu caso, faça o seguinte:
Faça o download das origens mais recentes como um arquivo zip.
Extraia o conteúdo em algum lugar.
Por exemplo, crie um diretório
bazel-srcno diretório principal e extraia o conteúdo.
Etapa 3: instalar os pré-requisitos
Instale os mesmos pré-requisitos da inicialização (consulte abaixo): JDK, compilador C++, MSYS2 (se você estiver criando no Windows) etc.
Etapa 4a: criar o Bazel no Ubuntu Linux, macOS e outros sistemas semelhantes ao Unix
Para instruções do Windows, consulte Criar o Bazel no Windows.
Objetivo: executar o Bazel para criar um binário personalizado do Bazel (bazel-bin/src/bazel-dev).
Instruções:
Inicie um terminal do Bash.
cdno diretório em que você extraiu (ou clonou) as origens do Bazel.Por exemplo, se você extraiu as origens no diretório principal, execute:
cd ~/bazel-srcCrie o Bazel da origem:
bazel build //src:bazel-devComo alternativa, você pode executar
bazel build //src:bazel --compilation_mode=optpara gerar um binário menor, mas a criação é mais lenta.É possível criar com a flag
--stamp --embed_label=X.Y.Zpara incorporar uma versão do Bazel ao binário para quebazel --versiongere a versão especificada.A saída estará em
bazel-bin/src/bazel-dev(oubazel-bin/src/bazel).
Etapa 4b: criar o Bazel no Windows
Para instruções de sistemas semelhantes ao 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").
cdno diretório em que você extraiu (ou clonou) as origens do Bazel.Por exemplo, se você extraiu as origens no diretório principal, execute:
cd %USERPROFILE%\bazel-srcCrie o Bazel da origem:
bazel build //src:bazel-dev.exe
Como alternativa, você pode executar
bazel build //src:bazel.exe --compilation_mode=optpara gerar um binário menor, mas a criação é mais lenta.É possível criar com a flag
--stamp --embed_label=X.Y.Zpara incorporar uma versão do Bazel ao binário para quebazel --versiongere a versão especificada.A saída estará em
bazel-bin\src\bazel-dev.exe(oubazel-bin\src\bazel.exe).
Etapa 5: instalar o binário criado
Na verdade, não há nada para instalar.
A saída da etapa anterior é um binário do Bazel independente. Você pode copiar para qualquer diretório e usar imediatamente. Isso é útil se o diretório estiver no PATH para que você possa executar "bazel" em qualquer lugar.
Criar o Bazel do zero (inicialização)
Também é possível criar o Bazel do zero, sem usar um binário do Bazel.
Etapa 1: fazer o download das origens do Bazel (arquivo de distribuição)
Essa etapa é a mesma para todas as plataformas.
Faça o download de
bazel-<version>-dist.zipno GitHub, por exemplobazel-0.28.1-dist.zip.Atenção:
- Há um único arquivo de distribuição independente da arquitetura. Não há arquivos de distribuição específicos da arquitetura ou do SO.
- Essas origens não são as mesmas da árvore de origem do GitHub. Você precisa 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 a inicialização e não fazem parte da árvore de origem normal do Git.
Descompacte o arquivo de distribuição em algum lugar no disco.
Verifique a assinatura feita pela chave de lançamento do Bazel 3D5919B448457EE0.
Etapa 2a: inicializar o Bazel no Ubuntu Linux, macOS e outros sistemas semelhantes ao Unix
Para instruções do Windows, consulte Inicializar o Bazel no Windows.
2.1. Instalar os pré-requisitos
Bash
zip, unzip
Cadeia de ferramentas de build do C++
JDK. A versão 21 é necessária.
Python. A versão 3 é necessária.
Por exemplo, no Ubuntu Linux, é possível instalar esses requisitos usando o comando a seguir:
sudo apt-get install build-essential openjdk-21-jdk python3 zip unzip
2.2. Inicializar o Bazel no Unix
Abra um shell ou uma janela de terminal.
cdno 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 binário do Bazel independente, sem um JDK incorporado. Você pode copiar para qualquer lugar ou usar no local. Para sua 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
SOURCE_DATE_EPOCH
na etapa "Executar o script de compilação".
Etapa 2b: inicializar o Bazel no Windows
Para instruções de sistemas semelhantes ao Unix, consulte Inicializar o Bazel no Ubuntu Linux, macOS e outros sistemas semelhantes ao Unix.
2.1. Instalar os pré-requisitos
Os pacotes MSYS2 para zip e unzip. Execute o comando a seguir no shell do MSYS2:
pacman -S zip unzip patchO compilador Visual C++. Instale o compilador Visual C++ como parte do Visual Studio 2015 ou mais recente ou instalando as Ferramentas de build mais recentes para Visual Studio 2017.
JDK. A versão 21 é necessária.
Python. As versões 2 e 3 são compatíveis. Instalar uma delas é suficiente. Você precisa da versão nativa do Windows (disponível para download em https://www.python.org). As versões instaladas pelo pacman no MSYS2 não funcionarão.
2.2. Inicializar o Bazel no Windows
Abra o shell do MSYS2.
Configure as variáveis de ambiente a seguir:
BAZEL_VSouBAZEL_VC(eles não são iguais): defina o caminho para o diretório do Visual Studio (BAZEL_VS) ou para o diretório do Visual C++ (BAZEL_VC). Definir um deles é suficiente.BAZEL_SH: caminho do MSYS2bash.exe. Consulte o comando nos exemplos abaixo.Não defina como
C:\Windows\System32\bash.exe. Você tem esse arquivo se instalou o Subsistema Windows para Linux. O Bazel não oferece suporte a essa versão dobash.exe.PATH: adicione o diretório do Python.JAVA_HOME: defina 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/jdk-21"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/jdk-21"cdno 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 binário do Bazel independente, sem um JDK incorporado. Você pode copiar para qualquer lugar ou usar no local. Para sua conveniência, copie esse binário para um diretório que esteja no seu PATH.
Para criar o binário bazel.exe de maneira reproduzível, defina
SOURCE_DATE_EPOCH
na etapa "Executar o script de compilação".
Não é necessário executar o Bazel no shell do MSYS2. É possível executar o Bazel no prompt de comando (cmd.exe) ou no PowerShell.