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 página de versões do GitHub ou use o Bazelisk para receber a versão mais recente do Bazel.
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 uma versão 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 copiá-lo para qualquer lugar e usar imediatamente sem precisar instalar.
As instruções detalhadas estão abaixo.
Etapa 1: receber a versão mais recente do Bazel
Objetivo: instalar ou fazer o download de uma versão do Bazel. Verifique se é possível executá-lo 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. É possível instalar um de 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.
Isso 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 sistemas Unix) oubazel.exe(no Windows).Isso 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 sistemas 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 inicial 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 Bash.
cdno diretório em que você extraiu (ou clonou) as origens do Bazel.Por exemplo, se você extraiu as origens no diretório inicial, 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. Assim,bazel --versiongera 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 inicial, 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. Assim,bazel --versiongera 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 copiá-lo 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)
Esta 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 C++
JDK. A versão 21 é necessária.
Python. A versão 3 é necessária.
Por exemplo, no Ubuntu Linux, você pode instalar esses requisitos usando o seguinte comando:
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 do 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 copiá-lo para qualquer lugar ou usá-lo 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 seguinte comando 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 do 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 funcionam.
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 dobash.exedo MSYS2. 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 como o diretório 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 copiá-lo para qualquer lugar ou usá-lo 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. Você pode executar o Bazel no prompt de comando (cmd.exe) ou no PowerShell.