Halaman ini menjelaskan cara menginstal Bazel dari sumber dan memberikan tips pemecahan masalah untuk masalah umum.
Untuk mem-build Bazel dari sumber, Anda dapat melakukan salah satu hal berikut:
Build tanpa biner Bazel yang ada yang dikenal sebagai bootstrapping.
Mem-build Bazel menggunakan Bazel
Ringkasan
Dapatkan rilis Bazel terbaru dari halaman rilis GitHub atau dengan Bazelisk.
Download sumber Bazel dari GitHub dan ekstrak di suatu tempat. Atau, Anda dapat meng-clone pohon sumber dari https://github.com/bazelbuild/bazel
Instal prasyarat yang sama seperti untuk bootstrap (lihat untuk sistem seperti Unix atau untuk Windows)
Mem-build build Bazel menggunakan Bazel:
bazel build //src:bazel-dev
(ataubazel build //src:bazel-dev.exe
di Windows)Biner yang dihasilkan berada di
bazel-bin/src/bazel-dev
(ataubazel-bin\src\bazel-dev.exe
di Windows). Anda dapat menyalinnya di mana saja dan langsung menggunakannya tanpa perlu menginstal lebih lanjut.
Petunjuk terperincinya ada di bawah ini.
Langkah 1: Dapatkan rilis Bazel terbaru
Sasaran: Menginstal atau mendownload Bazel versi rilis. Pastikan Anda dapat menjalankannya
dengan mengetik bazel
di terminal.
Alasan: Untuk mem-build Bazel dari hierarki sumber GitHub, Anda memerlukan biner Bazel yang sudah ada sebelumnya. Anda dapat menginstalnya dari pengelola paket atau mendownloadnya dari GitHub. Lihat Menginstal Bazel. (Atau Anda dapat mem-build dari gores (bootstrap).)
Pemecahan masalah:
Jika Anda tidak dapat menjalankan Bazel dengan mengetik
bazel
di terminal:Mungkin direktori biner Bazel Anda tidak ada di PATH.
Ini bukan masalah besar. Sebagai ganti mengetik
bazel
, Anda harus mengetik jalur lengkap.Mungkin biner Bazel itu sendiri tidak disebut
bazel
(pada Unix) ataubazel.exe
(di Windows).Ini bukan masalah besar. Anda dapat mengganti nama biner, atau mengetik nama biner, bukan
bazel
.Mungkin biner tidak dapat dieksekusi (pada Unix).
Anda harus membuat biner yang dapat dieksekusi dengan menjalankan
chmod +x /path/to/bazel
.
Langkah 2: Download sumber Bazel dari GitHub
Jika Anda sudah terbiasa dengan Git, maka cukup git clone https://github.com/bazelbuild/bazel
Atau:
Download sumber terbaru sebagai file zip.
Ekstrak konten di suatu tempat.
Misalnya, buat direktori
bazel-src
di direktori beranda Anda, lalu ekstrak di sana.
Langkah 3: Instal prasyarat
Instal prasyarat yang sama seperti untuk bootstrap (lihat di bawah) -- JDK, C++ compiler, MSYS2 (jika Anda mem-build di Windows), dll.
Langkah 4a: Build Bazel di Ubuntu Linux, macOS, dan sistem serupa Unix lainnya
Untuk mengetahui petunjuk Windows, lihat Mem-build Bazel di Windows.
Sasaran: Jalankan Bazel untuk membuat biner Bazel kustom (bazel-bin/src/bazel-dev
).
Petunjuk:
Memulai terminal Bash
cd
ke direktori tempat Anda mengekstrak (atau meng-clone) sumber Bazel.Misalnya, jika Anda mengekstrak sumber di direktori beranda, jalankan:
cd ~/bazel-src
Buat Bazel dari sumber:
bazel build //src:bazel-dev
Atau, Anda dapat menjalankan
bazel build //src:bazel --compilation_mode=opt
untuk menghasilkan biner yang lebih kecil, tetapi lebih lambat dibuat.Outputnya akan berada di
bazel-bin/src/bazel-dev
(ataubazel-bin/src/bazel
).
Langkah 4b: Build Bazel di Windows
Untuk mengetahui petunjuk tentang sistem seperti Unix, lihat Ubuntu Linux, macOS, dan sistem seperti Unix lainnya.
Sasaran: Jalankan Bazel untuk membuat biner Bazel kustom
(bazel-bin\src\bazel-dev.exe
).
Petunjuk:
Mulai Command Prompt (Menu Mulai > Run > "cmd.exe")
cd
ke direktori tempat Anda mengekstrak (atau meng-clone) sumber Bazel.Misalnya, jika Anda mengekstrak sumber di direktori beranda, jalankan:
cd %USERPROFILE%\bazel-src
Buat Bazel dari sumber:
bazel build //src:bazel-dev.exe
Atau, Anda dapat menjalankan
bazel build //src:bazel.exe --compilation_mode=opt
untuk menghasilkan biner yang lebih kecil, tetapi lebih lambat dibuat.Outputnya akan berada di
bazel-bin\src\bazel-dev.exe
(ataubazel-bin\src\bazel.exe
).
Langkah 5: Instal biner build
Sebenarnya, tidak ada yang perlu diinstal.
Output dari langkah sebelumnya adalah biner Bazel mandiri. Anda dapat menyalinnya ke direktori mana pun dan segera menggunakannya. (Hal ini berguna jika direktori tersebut ada pada PATH Anda sehingga Anda dapat menjalankan "bazel" di mana saja.)
Mem-build Bazel dari awal (bootstrap)
Anda juga dapat membuat Bazel dari awal, tanpa menggunakan biner Bazel yang ada.
Langkah 1: Download sumber Bazel (arsip distribusi)
(Langkah ini sama untuk semua platform.)
Download
bazel-<version>-dist.zip
dari GitHub, misalnyabazel-0.28.1-dist.zip
.Perhatian:
- Ada satu arsip distribusi tunggal, yang tidak bergantung pada arsitektur. Tidak ada arsip distribusi khusus arsitektur atau khusus OS.
- Sumber ini tidak sama dengan hierarki sumber GitHub. Anda harus menggunakan arsip distribusi untuk mem-bootstrap Bazel. Anda tidak dapat menggunakan hierarki sumber yang di-clone dari GitHub. (Arsip distribusi berisi file sumber yang dihasilkan yang diperlukan untuk bootstrap dan bukan bagian dari hierarki sumber Git normal.)
Ekstrak arsip distribusi di suatu tempat pada disk.
Anda harus memverifikasi tanda tangan yang dibuat oleh kunci rilis 3D5919B448457EE0 Bazel.
Langkah 2a: Bootstrap Bazel di Ubuntu Linux, macOS, dan sistem serupa Unix lainnya
Untuk mengetahui petunjuk tentang Windows, lihat Bootstrap Bazel di Windows.
2.1. Menginstal prasyarat
Bash
zip, ekstrak file zip
Toolchain build C++
JDK Versi 11 diperlukan.
Python. Versi 2 dan 3 didukung, menginstal salah satunya sudah cukup.
Misalnya, di Ubuntu Linux, Anda dapat menginstal persyaratan ini menggunakan perintah berikut:
sudo apt-get install build-essential openjdk-11-jdk python zip unzip
2,2. Bootstrap Bazel di Unix
Buka jendela Terminal atau shell.
cd
ke direktori tempat Anda mengekstrak arsip distribusi.Jalankan skrip kompilasi:
env EXTRA_BAZEL_ARGS="--tool_java_runtime_version=local_jdk" bash ./compile.sh
.
Output yang dikompilasi ditempatkan ke dalam output/bazel
. Ini adalah biner Bazel mandiri, tanpa JDK tersemat. Anda dapat menyalinnya di mana saja atau menggunakannya di tempat. Untuk memudahkan, salin biner ini ke direktori yang ada di PATH
(seperti /usr/local/bin
di Linux).
Untuk mem-build biner bazel
dengan cara yang dapat direproduksi, juga tetapkan
SOURCE_DATE_EPOCH
pada langkah "Jalankan skrip kompilasi".
Langkah 2b: Bootstrap Bazel di Windows
Untuk mengetahui petunjuk tentang sistem seperti Unix, lihat Bootstrap Bazel di Ubuntu Linux, macOS, dan sistem serupa Unix lainnya.
2.1. Menginstal prasyarat
Paket MSYS2 untuk zip dan unzip. Jalankan perintah berikut di shell MSYS2:
pacman -S zip unzip patch
Compiler Visual C++. Instal compiler Visual C++ sebagai bagian dari Visual Studio 2015 atau yang lebih baru, atau dengan menginstal Build Tools terbaru untuk Visual Studio 2017.
JDK Versi 11 diperlukan.
Python. Versi 2 dan 3 didukung, menginstal salah satunya sudah cukup. Anda memerlukan versi native Windows (dapat didownload dari https://www.python.org). Versi yang diinstal melalui pacman di MSYS2 tidak akan berfungsi.
2,2. Bootstrap Bazel di Windows
Buka shell MSYS2.
Tetapkan variabel lingkungan berikut:
BAZEL_VS
atauBAZEL_VC
(keduanya tidak sama): Tetapkan ke jalur ke direktori Visual Studio (BAZEL_VS) atau ke direktori Visual C++ (BAZEL_VC). Menetapkan salah satunya sudah cukup.BAZEL_SH
: Jalurbash.exe
MSYS2. Lihat perintah dalam contoh di bawah ini.Jangan setel ini ke
C:\Windows\System32\bash.exe
. (Anda memiliki file tersebut jika menginstal Subsistem Windows untuk Linux.) Bazel tidak mendukung versibash.exe
ini.PATH
: Tambahkan direktori Python.JAVA_HOME
: Ditetapkan ke direktori JDK.
Contoh (menggunakan 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"
atau (menggunakan 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
ke direktori tempat Anda mengekstrak arsip distribusi.Jalankan skrip kompilasi:
env EXTRA_BAZEL_ARGS="--tool_java_runtime_version=local_jdk" ./compile.sh
Output yang dikompilasi ditempatkan ke dalam output/bazel.exe
. Ini adalah biner Bazel mandiri, tanpa JDK tersemat. Anda dapat menyalinnya di mana saja atau menggunakannya di tempat. Untuk memudahkan, salin biner ini ke direktori yang ada di PATH
Anda.
Untuk mem-build biner bazel.exe
dengan cara yang dapat direproduksi, juga tetapkan
SOURCE_DATE_EPOCH
pada langkah "Jalankan skrip kompilasi".
Anda tidak perlu menjalankan Bazel dari shell MSYS2. Anda dapat menjalankan Bazel dari
Command Prompt (cmd.exe
) atau PowerShell.