หน้านี้จะอธิบายตัวเลือกในการติดตั้ง Bazel ใน Ubuntu นอกจากนี้ยังมีลิงก์ไปยังสคริปต์การคอมไพล์ Bazel จนเสร็จสมบูรณ์และโปรแกรมติดตั้งแบบไบนารีด้วย หากต้องการใช้เป็นตัวเลือกสำรอง (เช่น คุณไม่มีสิทธิ์เข้าถึงระดับผู้ดูแลระบบ)
แพลตฟอร์ม Ubuntu Linux ที่รองรับ:
- 22.04 (LTS)
- 20.04 (LTS)
- 18.04 (LTS)
Bazel ควรเข้ากันได้กับ Ubuntu รุ่นอื่นๆ และ Debian "stretch" ขึ้นไป แต่ยังไม่ได้ทดสอบและไม่มีการรับประกันว่าจะใช้งานได้
ติดตั้ง Bazel ใน Ubuntu โดยใช้วิธีใดวิธีหนึ่งต่อไปนี้
- แนะนำ: ใช้ Bazelisk
- ใช้ที่เก็บ APT ที่กําหนดเอง
- ใช้โปรแกรมติดตั้งแบบไบนารี
- ใช้คอนเทนเนอร์ Bazel Docker
- คอมไพล์ Bazel จากซอร์สโค้ด
หมายเหตุ: สำหรับระบบที่ใช้ Arm นั้นที่เก็บ APT ไม่มีรุ่น arm64
และไม่มีโปรแกรมติดตั้งแบบไบนารี ใช้ Bazelisk หรือคอมไพล์จากซอร์สโค้ด
Bazel มาพร้อมกับสคริปต์การทำงานเสร็จ 2 สคริปต์ หลังจากติดตั้ง Bazel แล้ว คุณจะทำสิ่งต่อไปนี้ได้
- เข้าถึงสคริปต์การทำภารกิจให้เสร็จสมบูรณ์
- ติดตั้งสคริปต์การเติม zsh
การใช้ที่เก็บ Apt ของ Bazel
ขั้นตอนที่ 1: เพิ่ม URI ของรุ่น Bazel เป็นแหล่งที่มาของแพ็กเกจ
หมายเหตุ: นี่คือขั้นตอนการตั้งค่าแบบครั้งเดียว
sudo apt install apt-transport-https curl gnupg -y
curl -fsSL https://bazel.build/bazel-release.pub.gpg | gpg --dearmor >bazel-archive-keyring.gpg
sudo mv bazel-archive-keyring.gpg /usr/share/keyrings
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/bazel-archive-keyring.gpg] https://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list
ชื่อคอมโพเนนต์ "jdk1.8" จะยังคงอยู่เพื่อเหตุผลเดิมเท่านั้น และไม่มีความสัมพันธ์กับเวอร์ชัน JDK ที่รองรับหรือรวมอยู่ด้วย รุ่น Bazel นั้นเข้าใจได้โดยไม่จำเป็นต้องเข้าใจเวอร์ชัน Java การเปลี่ยนชื่อคอมโพเนนต์ "jdk1.8" จะทําให้ผู้ใช้ปัจจุบันของรีโปใช้ไม่ได้
ขั้นตอนที่ 2: ติดตั้งและอัปเดต Bazel
sudo apt update && sudo apt install bazel
เมื่อติดตั้งแล้ว คุณจะอัปเกรดเป็น Bazel เวอร์ชันที่ใหม่กว่าจากการอัปเดตระบบตามปกติได้ดังนี้
sudo apt update && sudo apt full-upgrade
แพ็กเกจ bazel
จะติดตั้ง Bazel เวอร์ชันล่าสุดที่มีความเสถียรเสมอ คุณสามารถติดตั้ง Bazel เวอร์ชันเก่าที่ต้องการนอกเหนือจากเวอร์ชันล่าสุดได้ ดังนี้
sudo apt install bazel-1.0.0
ซึ่งจะติดตั้ง Bazel 1.0.0 เป็น /usr/bin/bazel-1.0.0
ในระบบ การทำเช่นนี้มีประโยชน์ในกรณีที่คุณต้องการ Bazel เวอร์ชันที่เจาะจงเพื่อสร้างโปรเจ็กต์ เช่น เนื่องจากโปรเจ็กต์ใช้ไฟล์ .bazelversion
เพื่อระบุอย่างชัดเจนว่าควรสร้าง Bazel เวอร์ชันใด
นอกจากนี้ คุณยังตั้งค่า bazel
เป็นเวอร์ชันที่ต้องการได้โดยการสร้างลิงก์สัญลักษณ์ ดังนี้
sudo ln -s /usr/bin/bazel-1.0.0 /usr/bin/bazel
bazel --version # 1.0.0
ขั้นตอนที่ 3: ติดตั้ง JDK (ไม่บังคับ)
Bazel มี JRE ที่รวมไว้แบบส่วนตัวเป็นรันไทม์และคุณไม่จําเป็นต้องติดตั้ง Java เวอร์ชันใดเวอร์ชันหนึ่ง
อย่างไรก็ตาม หากต้องการสร้างโค้ด Java โดยใช้ Bazel คุณต้องติดตั้ง JDK
sudo apt install default-jdk
การใช้โปรแกรมติดตั้งแบบไบนารี
โดยทั่วไปแล้ว คุณควรใช้ที่เก็บ apt แต่โปรแกรมติดตั้งไบนารีอาจเป็นประโยชน์หากคุณไม่มีสิทธิ์ของผู้ดูแลระบบในเครื่อง หรือไม่สามารถเพิ่มที่เก็บที่กำหนดเอง
คุณดาวน์โหลดโปรแกรมติดตั้งแบบไบนารีได้จากหน้ารุ่นต่างๆ ของ GitHub ของ Bazel
โปรแกรมติดตั้งมีไบนารี Bazel และแตกข้อมูลไปยังโฟลเดอร์ $HOME/bin
ต้องติดตั้งไลบรารีเพิ่มเติมบางรายการด้วยตนเองเพื่อให้ Bazel ทำงานได้
ขั้นตอนที่ 1: ติดตั้งแพ็กเกจที่จำเป็น
Bazel ต้องใช้คอมไพเลอร์ C++ และแตกไฟล์ / ZIP เพื่อให้ทำงานได้
sudo apt install g++ unzip zip
หากต้องการสร้างโค้ด Java โดยใช้ Bazel ให้ติดตั้ง JDK ดังนี้
sudo apt-get install default-jdk
ขั้นตอนที่ 2: เรียกใช้โปรแกรมติดตั้ง
จากนั้นดาวน์โหลดโปรแกรมติดตั้งแบบไบนารีของ Bazel ชื่อ bazel-version-installer-linux-x86_64.sh
จากหน้ารุ่นของ Bazel ใน GitHub
โดยให้เรียกใช้ดังนี้
chmod +x bazel-version-installer-linux-x86_64.sh
./bazel-version-installer-linux-x86_64.sh --user
Flag --user
จะติดตั้ง Bazel ลงในไดเรกทอรี $HOME/bin
ในระบบและตั้งค่าเส้นทาง .bazelrc
เป็น $HOME/.bazelrc
ใช้คำสั่ง --help
เพื่อดูตัวเลือกการติดตั้งเพิ่มเติม
ขั้นตอนที่ 3: ตั้งค่าสภาพแวดล้อม
หากคุณเรียกใช้โปรแกรมติดตั้ง Bazel พร้อม Flag --user
ดังที่กล่าวไว้ข้างต้น ระบบจะติดตั้งไฟล์ปฏิบัติการของ Bazel ในไดเรกทอรี $HOME/bin
เราขอแนะนำให้คุณเพิ่มไดเรกทอรีนี้ลงในเส้นทางเริ่มต้นดังต่อไปนี้
export PATH="$PATH:$HOME/bin"
นอกจากนี้ คุณยังเพิ่มคําสั่งนี้ลงในไฟล์ ~/.bashrc
หรือ ~/.zshrc
เพื่อให้มีผลถาวรได้ด้วย
การใช้คอนเทนเนอร์ Docker ของ Bazel
เรานำคอนเทนเนอร์ Docker ที่มี Bazel ไปใช้จริงสำหรับ Bazel แต่ละเวอร์ชันที่ gcr.io/bazel-public/bazel
คุณใช้คอนเทนเนอร์ Docker ได้โดยทำดังนี้
$ docker pull gcr.io/bazel-public/bazel:<bazel version>
คอนเทนเนอร์ Docker สร้างขึ้นตามขั้นตอนเหล่านี้