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

วันที่ รายงานปัญหา ดูแหล่งที่มา ตอนกลางคืน · 7.3 · 7.2 · 7.1 · 7.0 · 6.5

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

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

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

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

ติดตั้ง 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 เป็นเวอร์ชันที่ต้องการได้โดยการสร้างลิงก์สัญลักษณ์ ดังนี้

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

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

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

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

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

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

การใช้คอนเทนเนอร์ Bazel Docker

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

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

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