Na tej stronie opisaliśmy, jak zainstalować Bazel ze źródła i poznaliśmy wskazówki dotyczące rozwiązywania typowych problemów.
Aby utworzyć Bazel ze źródła, możesz wykonać jedną z tych czynności:
Utwórz go za pomocą istniejącego pliku binarnego Bazel
Zbuduj go bez istniejącego pliku binarnego Bazel, który nazywa się butytrapping.
Zbuduj Bazel za pomocą Bazel
Podsumowanie
Najnowszą wersję Bazela możesz znaleźć na stronie wersji GitHub lub w Bazelisku.
Pobierz źródła Bazela z GitHuba i rozpakuj gdzieś. Zamiast tego możesz też skopiować drzewo źródłowe z https://github.com/bazelbuild/bazel
Zainstaluj te same wymagania wstępne co przy rozruchu (patrz systemy podobne do Unix lub Windows).
Utwórz kompilację bazy danych za pomocą Bazel:
bazel build //src:bazel-dev
(lubbazel build //src:bazel-dev.exe
w systemie Windows)Powstały plik binarny to
bazel-bin/src/bazel-dev
(lubbazel-bin\src\bazel-dev.exe
w systemie Windows). Możesz go skopiować w dowolnym miejscu i natychmiast bez konieczności instalacji.
Szczegółowe instrukcje znajdziesz poniżej.
Krok 1. Pobierz najnowszą wersję Bazel
Cel: zainstaluj lub pobierz wersję Baze. Sprawdź, czy polecenie można uruchomić, wpisując bazel
w terminalu.
Przyczyna: aby utworzyć bazę w drzewie źródłowym GitHub, musisz mieć gotowy plik binarny Bazel. Możesz zainstalować taką aplikację za pomocą menedżera pakietów lub pobrać ją z GitHuba. Patrz: Installing Bazel. (możesz też tworzyć elementy z rysunku (butytrap)).
Rozwiązywanie problemów:
Jeśli nie możesz uruchomić Bazalu, wpisz
bazel
w terminalu:Być może nie ma katalogu binarnego Bazel w katalogu PATH.
To nie jest poważny problem. Zamiast wpisywać
bazel
, musisz wpisać pełną ścieżkę.Może się zdarzyć, że plik binarny Bazel nie nazywa się
bazel
(w systemie Unix) anibazel.exe
(w systemie Windows).To nie jest poważny problem. Możesz zmienić nazwę pliku binarnego lub wpisać nazwę pliku binarnego zamiast
bazel
.Być może plik binarny nie jest wykonywalny (w systemie Unix).
Musisz utworzyć binarny plik wykonywalny, uruchamiając polecenie
chmod +x /path/to/bazel
.
Krok 2. Pobierz źródła Bazel z GitHuba
Jeśli znasz już Git, po prostu git clone https://github.com/bazelbuild/bazel
W innym przypadku:
Pobierz najnowsze źródła jako plik ZIP.
Wyodrębnij gdzieś treść.
Na przykład utwórz katalog
bazel-src
w katalogu głównym i wyodrębnij go.
Krok 3. Zainstaluj wymagania wstępne
Zainstaluj te same wymagania wstępne co przy rozruchu (patrz niżej) – kompilator JDK, C++, MSYS2 (w przypadku systemu Windows) itp.
Krok 4a. Utwórz Bazel w systemie Ubuntu Linux, macOS i innych systemach Unix
Instrukcje dotyczące systemu Windows znajdziesz w artykule Tworzenie bazy danych w systemie Windows.
Cel: uruchomienie Bazelu, aby utworzyć niestandardowy plik binarny Baze (bazel-bin/src/bazel-dev
).
Instrukcje:
Uruchom terminal Bash
cd
do katalogu, w którym wyodrębniono (lub sklonowano) źródła Bazel.Jeśli na przykład wyodrębniono źródła z katalogu domowego, uruchom:
cd ~/bazel-src
Utwórz Bazel ze źródła:
bazel build //src:bazel-dev
Możesz też uruchomić polecenie
bazel build //src:bazel --compilation_mode=opt
, by otrzymać mniejszy plik binarny, ale wolniej jest kompilować.Dane wyjściowe będą wynosić
bazel-bin/src/bazel-dev
(lubbazel-bin/src/bazel
).
Krok 4b. Zbuduj Bazel w systemie Windows
Instrukcje dotyczące systemów typu Unix znajdziesz w artykule na temat Ubuntu Linux, systemu macOS i innych systemów typu Unix.
Cel: uruchomienie Bazelu, aby utworzyć niestandardowy plik binarny Baze (bazel-bin\src\bazel-dev.exe
).
Instrukcje:
Uruchom wiersz polecenia (menu Start > Uruchom > cmd.exe”)
cd
do katalogu, w którym wyodrębniono (lub sklonowano) źródła Bazel.Jeśli na przykład wyodrębniono źródła z katalogu domowego, uruchom:
cd %USERPROFILE%\bazel-src
Utwórz Bazel ze źródła:
bazel build //src:bazel-dev.exe
Możesz też uruchomić
bazel build //src:bazel.exe --compilation_mode=opt
, by otrzymać mniejszy plik binarny, ale wolniej jest kompilować.Wyniki będą wynosić
bazel-bin\src\bazel-dev.exe
(lubbazel-bin\src\bazel.exe
).
Krok 5. Zainstaluj utworzony plik binarny
Nie musisz nic instalować.
Wynikiem poprzedniego kroku jest samodzielny plik binarny Bazel. Możesz go skopiować do dowolnego katalogu i użyć go natychmiast. (Przydatny, jeśli katalog jest w ŚCIEPATHCE, bo wszędzie można uruchomić „bazela”).
Zbuduj Bazel od podstaw
Możesz też zbudować Bazel od zera bez używania istniejącego pliku binarnego Bazel.
Krok 1. Pobierz źródła Baze (archiwum dystrybucji)
(ten krok jest taki sam na wszystkich platformach).
Pobierz
bazel-<version>-dist.zip
z GitHub, na przykładbazel-0.28.1-dist.zip
.Uwaga:
- Dostępne jest archiwum dystrybucji pojedynczego, niezależnego od architektury. Nie ma archiwów dystrybucji związanych z architekturą ani systemem operacyjnym.
- Te źródła nie są tym samym co drzewo źródłowe GitHub. Aby uruchomić aplikację Bazel, musisz użyć archiwum dystrybucji. Nie możesz użyć drzewa źródłowego skopiowanego z GitHuba. Archiwum dystrybucji zawiera wygenerowane pliki źródłowe, które są wymagane do rozruchu i nie są częścią zwykłego drzewa źródłowego Git.
Rozpakuj archiwum dystrybucji na dysku.
Sprawdź podpis podpisany przez klucz wersji Bazela 3D5919B448457EE0.
Krok 2a. Bootstrap Bazel w systemie Ubuntu Linux, macOS i innych systemach typu Unix
Instrukcje dotyczące systemu Windows znajdziesz w artykule Bootstrap Bazel on Windows.
2.1. Zainstaluj wymagania wstępne
Bash
zip, unzip
Łańcuch narzędzi w C++
JDK Wymagana jest wersja 11.
Python Obsługiwane są wersje 2 i 3. Instalacja jednej z nich jest wystarczająca.
W systemie Ubuntu Linux możesz zainstalować te wymagania przy użyciu następującego polecenia:
sudo apt-get install build-essential openjdk-11-jdk python zip unzip
2.2. Bootstrap Bazel na Unix
Otwórz szkielet lub okno terminala.
cd
do katalogu, w którym zostało rozpakowane archiwum dystrybucji.Uruchom skrypt kompilacji:
env EXTRA_BAZEL_ARGS="--tool_java_runtime_version=local_jdk" bash ./compile.sh
.
Skompilowane dane wyjściowe są umieszczane w output/bazel
. Jest to samodzielny plik binarny Bazel, bez umieszczonego kodu JDK. Możesz go skopiować w dowolnym miejscu lub użyć. Dla ułatwienia skopiuj ten plik binarny do katalogu na urządzeniu PATH
(na przykład /usr/local/bin
w systemie Linux).
Aby utworzyć plik binarny bazel
w taki sposób, który można odtworzyć, ustaw też SOURCE_DATE_EPOCH
w kroku „Uruchamianie skryptu kompilacji”.
Krok 2b: Bootstrap Bazel w systemie Windows
Instrukcje dotyczące systemów Unix znajdziesz w artykule Bootstrap Bazel w systemie Ubuntu Linux, macOS i innych systemach typu Unix.
2.1. Zainstaluj wymagania wstępne
Pakiety MSYS2 dla archiwów ZIP i Unzip. Uruchom następujące polecenie w powłoce MSYS2:
pacman -S zip unzip patch
Kompilator Visual C++. Kompilator Visual C++ możesz zainstalować jako część Visual Studio 2015 lub nowszej wersji albo za pomocą najnowszych narzędzi Build Tools for Visual Studio 2017.
JDK 8. Musisz zainstalować wersję 8 pakietu JDK. Wersje inne niż 8 nie są obsługiwane.
Python Obsługiwane są wersje 2 i 3. Instalacja jednej z nich jest wystarczająca. Musisz mieć wersję natywną dla systemu Windows (możesz ją pobrać ze strony https://www.python.org). Wersje zainstalowane przez pacman w MSYS2 nie będą działać.
2.2. Bootstrap Bazel w systemie Windows
Otwórz powłokę MSYS2.
Ustaw te zmienne środowiskowe:
- Może to być
BAZEL_VS
lubBAZEL_VC
(nie będą to te same wartości): ustaw ścieżkę do katalogu Visual Studio (BAZEL_VS) lub na katalogu Visual C++ (BAZEL_VC). Jedna z nich wystarczy. BAZEL_SH
: ścieżka pakietu MSYS2bash.exe
. Zobacz polecenie w poniższych przykładach.Nie ustawiaj wartości
C:\Windows\System32\bash.exe
. Ten plik jest zainstalowany, jeśli masz zainstalowany podsystem Windows dla Linuksa. Bazel nie obsługuje tej wersjibash.exe
.PATH
: dodaj katalog w języku Python.JAVA_HOME
: ustaw katalog JDK.
Przykład (z 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"
(lub 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"
- Może to być
cd
do katalogu, w którym zostało rozpakowane archiwum dystrybucji.Uruchom skrypt kompilacji:
env EXTRA_BAZEL_ARGS="--tool_java_runtime_version=local_jdk" ./compile.sh
Skompilowane dane wyjściowe są umieszczane w output/bazel.exe
. Jest to samodzielny plik binarny Bazel, bez umieszczonego kodu JDK. Możesz go skopiować w dowolnym miejscu lub użyć. Dla ułatwienia skopiuj ten plik binarny do katalogu na urządzeniu PATH
.
Aby utworzyć plik binarny bazel.exe
w taki sposób, który można odtworzyć, ustaw też SOURCE_DATE_EPOCH
w kroku „Uruchamianie skryptu kompilacji”.
Nie musisz uruchamiać Bazel z powłoki MSYS2. Bazela możesz uruchomić w wierszu polecenia (cmd.exe
) lub PowerShell.