Bu sayfada, Bazel'in kaynaktan nasıl yükleneceği açıklanmakta ve sık karşılaşılan sorunlarla ilgili sorun giderme ipuçları verilmektedir.
Bazel'i kaynaktan derlemek için aşağıdakilerden birini yapabilirsiniz:
Başlangıç olarak bilinen mevcut bir Bazel ikili dosyası olmadan derleyin.
Bazel'i Bazel kullanarak derleme
Özet
En son Bazel sürümünü GitHub sürüm sayfasından veya Bazelisk ile edinin.
Bazel'in kaynaklarını GitHub'dan indirin ve bir yere çıkarın. Alternatif olarak, https://github.com/bazelbuild/bazel adresinden kaynak ağacını git ile kopyalayabilirsiniz.
Önyükleme ile aynı ön koşulları yükleyin (Unix benzeri sistemler veya Windows için bölümüne bakın)
Bazel'i kullanarak Bazel geliştirme derlemesi oluşturma:
bazel build //src:bazel-dev
(veya Windows'tabazel build //src:bazel-dev.exe
)Elde edilen ikili dosya
bazel-bin/src/bazel-dev
(veya Windows'tabazel-bin\src\bazel-dev.exe
) konumundadır. İstediğiniz yere kopyalayıp başka bir kurulum yapmadan hemen kullanabilirsiniz.
Ayrıntılı talimatları aşağıda bulabilirsiniz.
1. adım: En son Bazel sürümünü edinin
Hedef: Bazel'in bir sürümünü yükleyin veya indirin. Terminalde bazel
yazarak çalıştırabildiğinizden emin olun.
Nedeni: Bazel'i bir GitHub kaynak ağacından derlemek için önceden oluşturulmuş bir Bazel ikilisine ihtiyacınız vardır. Paket yöneticisinden yükleyebilir veya GitHub'dan indirebilirsiniz. Bazel'i yükleme başlıklı makaleyi inceleyin. (Alternatif olarak sıfırdan (bootstrap) da oluşturabilirsiniz.)
Sorun giderme:
Bazel'i bir terminalde
bazel
yazarak çalıştıramıyorsanız:Bazel ikili dosyanızın dizini PATH'te olmayabilir.
Bu önemli bir sorun değil.
bazel
yerine tam yolu yazmanız gerekir.Bazel ikili dosyası
bazel
(Unix'te) veyabazel.exe
(Windows'ta) olarak adlandırılmıyor olabilir.Bu önemli bir sorun değil. İkili dosyayı yeniden adlandırabilir veya
bazel
yerine ikili dosyanın adını yazabilirsiniz.İkili dosya yürütülebilir olmayabilir (Unix'te).
chmod +x /path/to/bazel
komutunu çalıştırarak ikili dosyayı yürütülebilir hale getirmeniz gerekir.
2. Adım: Bazel'in kaynaklarını GitHub'dan indirin
Git hakkında bilginiz varsa https://github.com/bazelbuild/bazel adresinden git clone komutunu kullanarak kodu kopyalayın.
Diğer durumlarda:
En son kaynakları zip dosyası olarak indirin.
İçeriği bir yere ayıklayın.
Örneğin, ana dizininizde bir
bazel-src
dizini oluşturun ve dosyaları buraya çıkarın.
3. Adım: Önkoşulları yükleyin
İlk başlatma için gereken önkoşulları (aşağıya bakın) yükleyin: JDK, C++ derleyicisi, MSYS2 (Windows'da derliyorsanız) vb.
4a. adım: Ubuntu Linux, macOS ve Unix benzeri diğer sistemlerde Bazel'i derleyin
Windows talimatları için Windows'ta Bazel derleme başlıklı makaleyi inceleyin.
Hedef: Özel bir Bazel ikili dosyası (bazel-bin/src/bazel-dev
) oluşturmak için Bazel'i çalıştırın.
Talimatlar:
Bash terminali başlatma
cd
dosyasını, Bazel'in kaynaklarını ayıkladığınız (veya kopyaladığınız) dizine kopyalayın.Örneğin, kaynakları ana dizininizdeki bir klasöre çıkardıysanız şu komutu çalıştırın:
cd ~/bazel-src
Bazel'i kaynaktan derleyin:
bazel build //src:bazel-dev
Alternatif olarak, daha küçük bir ikili oluşturmak için
bazel build //src:bazel --compilation_mode=opt
çalıştırabilirsiniz ancak bu işlemin derlenmesi daha yavaştır.bazel --version
'un belirli bir sürümü yayınlaması için ikili program için bir Bazel sürümü yerleştirmek üzere--stamp --embed_label=X.Y.Z
işaretiyle derleme yapabilirsiniz.Çıkış
bazel-bin/src/bazel-dev
(veyabazel-bin/src/bazel
) adresinde olur.
4b. adım: Bazel'i Windows'ta derleyin
Unix benzeri sistemlerle ilgili talimatlar için Ubuntu Linux, macOS ve Unix benzeri diğer sistemler başlıklı makaleyi inceleyin.
Hedef: Özel bir Bazel ikili dosyası (bazel-bin\src\bazel-dev.exe
) oluşturmak için Bazel'i çalıştırın.
Talimatlar:
Komut İstemi'ni başlatın (Başlat Menüsü > Çalıştır > "cmd.exe")
cd
dosyasını, Bazel'in kaynaklarını ayıkladığınız (veya kopyaladığınız) dizine kopyalayın.Örneğin, kaynakları ana dizininizdeki bir klasöre çıkardıysanız şu komutu çalıştırın:
cd %USERPROFILE%\bazel-src
Bazel'i kaynaktan derleyin:
bazel build //src:bazel-dev.exe
Alternatif olarak, daha küçük bir ikili oluşturmak için
bazel build //src:bazel.exe --compilation_mode=opt
'ü çalıştırabilirsiniz ancak bu işlemin derlenmesi daha yavaştır.bazel --version
'un belirli bir sürümü yayınlaması için ikili program için bir Bazel sürümü yerleştirmek üzere--stamp --embed_label=X.Y.Z
işaretiyle derleme yapabilirsiniz.Çıkış
bazel-bin\src\bazel-dev.exe
(veyabazel-bin\src\bazel.exe
) adresinde olur.
5. adım: Oluşturulan ikili dosyayı yükleyin
Aslında yüklemeniz gereken bir şey yok.
Önceki adımın çıktısı, kendi kendine yeten bir Bazel ikilisidir. Dosyayı herhangi bir dizine kopyalayıp hemen kullanabilirsiniz. ("bazel "i her yerde çalıştırabilmeniz için bu dizinin PATH'inizde olması faydalıdır.)
Bazel'i sıfırdan derleme (boot-strapping)
Mevcut bir Bazel ikili dosyası kullanmadan Bazel'i sıfırdan da derleyebilirsiniz.
1. Adım: Bazel kaynaklarını (dağıtım arşivi) indirin
(Bu adım tüm platformlar için aynıdır.)
bazel-<version>-dist.zip
dosyasını GitHub'dan indirin (ör.bazel-0.28.1-dist.zip
).Dikkat:
- Tek bir mimariden bağımsız dağıtım arşivi vardır. Mimariye veya işletim sistemine özel dağıtım arşivleri yoktur.
- Bu kaynaklar GitHub kaynak ağacıyla aynı değildir. Bazel'i başlatmak için dağıtım arşivini kullanmanız gerekir. GitHub'dan kopyalanan bir kaynak ağacı kullanamazsınız. (Dağıtım arşivi, önyükleme için gereken ve normal Git kaynak ağacının parçası olmayan oluşturulmuş kaynak dosyaları içerir.)
Dağıtım arşivini diskteki bir yere açın.
Bazel'in sürüm anahtarı 3D5919B448457EE0 ile oluşturulan imzayı doğrulamanız gerekir.
2a. adım: Ubuntu Linux, macOS ve Unix benzeri diğer sistemlerde Bazel'i başlatın
Windows talimatları için Windows'da Bazel'i başlatma başlıklı makaleyi inceleyin.
2.1. Gerekli ön koşulları yükleme
Bash
zip, unzip
C++ derleme araç zinciri
JDK. 21 sürümü gereklidir.
Python. 2 ve 3 sürümleri desteklenir. Bunlardan birini yüklemeniz yeterlidir.
Örneğin, Ubuntu Linux'te aşağıdaki komutu kullanarak bu gereksinimleri yükleyebilirsiniz:
sudo apt-get install build-essential openjdk-21-jdk python zip unzip
2.2. Unix'te Bazel'i temellendirme
Bir kabuk veya Terminal penceresi açın.
cd
dosyasını, dağıtım arşivinin paketini açtığınız dizine taşıyın.Derleme komut dosyasını çalıştırın:
env EXTRA_BAZEL_ARGS="--tool_java_runtime_version=local_jdk" bash ./compile.sh
.
Derlenen çıkış output/bazel
içine yerleştirilir. Bu, yerleşik JDK içermeyen bağımsız bir Bazel ikili dosyasıdır. Bu dosyayı kopyalayıp istediğiniz yere yerleştirebilir veya yerinde kullanabilirsiniz. Kolaylık sağlamak için bu ikili dosyayı PATH
'inizdeki bir dizine (Linux'da /usr/local/bin
gibi) kopyalayın.
bazel
ikilisini yeniden üretilebilir şekilde derlemek için "Derleme komut dosyasını çalıştır" adımında da SOURCE_DATE_EPOCH
değerini ayarlayın.
2. Adım (b): Windows'da Bazel'i temel hazırlayın
Unix benzeri sistemlerle ilgili talimatlar için Ubuntu Linux, macOS ve diğer Unix benzeri sistemlerde Bazel'i başlatma başlıklı makaleyi inceleyin.
2.1. Gerekli ön koşulları yükleme
Sıkıştırma ve açma için MSYS2 paketleri. MSYS2 kabuğunda aşağıdaki komutu çalıştırın:
pacman -S zip unzip patch
Visual C++ derleyicisi. Visual C++ derleyiciyi Visual Studio 2015 veya daha yeni bir sürümün parçası olarak ya da en son Visual Studio 2017 için Derleme Araçları'nı yükleyerek yükleyin.
JDK. 21 sürümü gereklidir.
Python. 2 ve 3 sürümleri desteklenir. Bunlardan birini yüklemeniz yeterlidir. Windows'a özgü sürüme (https://www.python.org adresinden indirilebilir) ihtiyacınız vardır. MSYS2'de pacman aracılığıyla yüklenen sürümler çalışmaz.
2.2. Windows'da Bazel'i temellendirme
MSYS2 kabuğunu açın.
Aşağıdaki ortam değişkenlerini ayarlayın:
BAZEL_VS
veyaBAZEL_VC
(aynı değildir): Visual Studio dizininin (BAZEL_VS) veya Visual C++ dizininin (BAZEL_VC) yoluna ayarlanır. Bunlardan birini ayarlamak yeterlidir.BAZEL_SH
: MSYS2'nin yolubash.exe
. Aşağıdaki örneklerde komutu görebilirsiniz.Bu değeri
C:\Windows\System32\bash.exe
olarak ayarlamayın. (Linux için Windows alt sistemini yüklediyseniz bu dosyaya sahipsiniz.) Bazel,bash.exe
'ın bu sürümünü desteklemiyor.PATH
: Python dizinini ekleyin.JAVA_HOME
: JDK dizine ayarlanır.
Örnek (BAZEL_VS kullanılarak):
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"
veya (BAZEL_VC kullanılarak):
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"
cd
dosyasını, dağıtım arşivinin paketini açtığınız dizine taşıyın.Derleme komut dosyasını çalıştırın:
env EXTRA_BAZEL_ARGS="--tool_java_runtime_version=local_jdk" ./compile.sh
Derlenen çıkış output/bazel.exe
içine yerleştirilir. Bu, yerleşik JDK içermeyen, kendi kendine yeten bir Bazel ikili dosyasıdır. Bu dosyayı kopyalayıp istediğiniz yere yerleştirebilir veya yerinde kullanabilirsiniz. Kolaylık sağlamak için bu ikili dosyayı PATH
cihazınızdaki bir dizine kopyalayın.
bazel.exe
ikilisini yeniden üretilebilir şekilde derlemek için "Derleme komut dosyasını çalıştır" adımında da SOURCE_DATE_EPOCH
değerini ayarlayın.
Bazel'i MSYS2 kabuğundan çalıştırmanız gerekmez. Bazel'i Komut İstemi'nden (cmd.exe
) veya PowerShell'den çalıştırabilirsiniz.