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

รายงานปัญหา ดูแหล่งที่มา Nightly · 8.4 · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

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

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

  • 22.04 (LTS)
  • 20.04 (LTS)
  • 18.04 (LTS)

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

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

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

Bazel มาพร้อมกับสคริปต์การเติมข้อความอัตโนมัติ 2 รายการ หลังจากติดตั้ง Bazel แล้ว คุณจะทำสิ่งต่อไปนี้ได้

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

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 แต่โปรแกรมติดตั้งไบนารี อาจมีประโยชน์หากคุณไม่มีสิทธิ์ของผู้ดูแลระบบในเครื่องหรือ เพิ่มที่เก็บที่กำหนดเองไม่ได้

คุณสามารถดาวน์โหลดโปรแกรมติดตั้งไบนารีได้จากหน้าการเผยแพร่ของ Bazel ใน GitHub

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

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

Bazel ต้องใช้คอมไพเลอร์ C++ และ unzip / 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

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

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

หากคุณเรียกใช้โปรแกรมติดตั้ง Bazel ด้วยแฟล็ก --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 สร้างขึ้นโดยทำตามขั้นตอนเหล่านี้