อย่าลืมนัดของเรา: BazelCon 2023 จะจัดขึ้นในวันที่ 24-25 ตุลาคมที่ Google ที่มิวนิก ดูข้อมูลเพิ่มเติม

การติดตั้ง Bazel บน Ubuntu

รายงานปัญหา ดูแหล่งที่มา

หน้านี้จะอธิบายตัวเลือกในการติดตั้ง Bazel ใน Ubuntu นอกจากนี้ยังมีลิงก์ของสคริปต์การดําเนินการ Bazel ที่สมบูรณ์และโปรแกรมติดตั้งไบนารีด้วย หากจําเป็นเป็นตัวเลือกสํารอง (เช่น หากคุณไม่มีสิทธิ์เข้าถึงระดับผู้ดูแลระบบ)

แพลตฟอร์ม Ubuntu Linux ที่รองรับ:

  • 200.04 (LTS)
  • 18.04 (LTS)

Bazel ควรเข้ากันได้กับรุ่น Ubuntu อื่นๆ และ Debian "stretch" ขึ้นไป แต่ยังไม่ผ่านการทดสอบและไม่รับประกันการทํางาน

ติดตั้ง Bazel บน Ubuntu โดยใช้วิธีใดวิธีหนึ่งต่อไปนี้

หมายเหตุ: สําหรับระบบที่ใช้แขน ที่เก็บ APT ไม่มีรุ่น arm64 และไม่มีตัวติดตั้งไบนารีที่พร้อมใช้งาน โดยใช้ Bazelisk หรือคอมไพล์จากแหล่งที่มา

Bazel มีสคริปต์สคริปต์ที่สมบูรณ์ 2 รายการ หลังจากติดตั้ง Bazel คุณจะทําสิ่งต่อไปนี้ได้

การใช้ที่เก็บข้อมูลแบบปรับเปลี่ยนของ 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 เป็นเวอร์ชันที่ต้องการได้โดยการสร้างรูปแบบลิงก์ ดังนี้

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

# Ubuntu 16.04 (LTS) uses OpenJDK 8 by default:
sudo apt install openjdk-8-jdk
# Ubuntu 18.04 (LTS) uses OpenJDK 11 by default:
sudo apt install openjdk-11-jdk

การใช้โปรแกรมติดตั้งไบนารี

โดยทั่วไปคุณควรใช้ที่เก็บแบบปรับ แต่โปรแกรมติดตั้งไบนารีจะมีประโยชน์หากคุณไม่มีสิทธิ์ของผู้ดูแลระบบในเครื่อง หรือเพิ่มที่เก็บที่กําหนดเองไม่ได้

โปรแกรมติดตั้งโปรแกรมติดตั้งไบนารีดาวน์โหลดได้จากหน้ารุ่น GitHub ของ Bazel

โปรแกรมติดตั้งมีไบนารี Bazel แล้วแตกลงในโฟลเดอร์ $HOME/bin ต้องมีการติดตั้งไลบรารีเพิ่มเติมบางรายการด้วยตนเองเพื่อให้ Bazel ทํางานได้

ขั้นตอนที่ 1: ติดตั้งแพ็กเกจที่จําเป็น

Bazel ต้องใช้คอมไพเลอร์ C++ และแตกไฟล์ Zip จึงจะทํางานได้

sudo apt install g++ unzip zip

หากต้องการสร้างโค้ด Java โดยใช้ Bazel ให้ติดตั้ง JDK ดังนี้

# Ubuntu 16.04 (LTS) uses OpenJDK 8 by default:
sudo apt-get install openjdk-8-jdk
# Ubuntu 18.04 (LTS) uses OpenJDK 11 by default:
sudo apt-get install openjdk-11-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

แฟล็ก --user จะติดตั้ง Bazel ไปยังไดเรกทอรี $HOME/bin ในระบบของคุณ และกําหนดเส้นทาง .bazelrc เป็น $HOME/.bazelrc ใช้คําสั่ง --help เพื่อดูตัวเลือกการติดตั้งเพิ่มเติม

ขั้นตอนที่ 3: ตั้งค่าสภาพแวดล้อม

หากเรียกใช้โปรแกรมติดตั้ง Bazel ที่มีแฟล็ก --user ด้านบน ระบบจะติดตั้งไฟล์ปฏิบัติการ Bazel ในไดเรกทอรี $HOME/bin คุณควรเพิ่มไดเรกทอรีนี้ลงในเส้นทางเริ่มต้น ดังนี้

export PATH="$PATH:$HOME/bin"

นอกจากนี้ คุณสามารถเพิ่มคําสั่งนี้ลงในไฟล์ ~/.bashrc หรือ ~/.zshrc เพื่อทําให้เป็นแบบถาวร

การใช้คอนเทนเนอร์ Dock ของ Bazel

เราเผยแพร่คอนเทนเนอร์ CDN ที่ติดตั้ง Bazel สําหรับ Bazel แต่ละเวอร์ชันได้ที่ gcr.io/bazel-public/bazel คุณใช้คอนเทนเนอร์แท่นชาร์จได้ดังนี้

$ docker pull gcr.io/bazel-public/bazel:<bazel version>

คอนเทนเนอร์แท่นชาร์จสร้างขึ้นตามขั้นตอนเหล่านี้