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

การติดตั้ง / อัปเดต Bazel โดยใช้ Bazelisk

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

การติดตั้ง Bazel

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

ดูรายละเอียดเพิ่มเติมได้ที่ README อย่างเป็นทางการ

กําลังอัปเดต Bazel

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

การจัดการเวอร์ชัน Bazel ด้วย Bazelisk

Bazelisk ช่วยคุณจัดการเวอร์ชัน Bazel

Bazelisk ทําสิ่งต่อไปนี้ได้

  • อัปเดต Bazel เป็น LTS หรือการเปิดตัวล่าสุดโดยอัตโนมัติ
  • สร้างโปรเจ็กต์ที่มีเวอร์ชัน Bazel ที่ระบุในไฟล์ .bazelversion ตรวจสอบไฟล์นั้นในการควบคุมเวอร์ชันของคุณ เพื่อให้แน่ใจว่าจะทําซ้ําบิลด์ของคุณ
  • ช่วยย้ายข้อมูลโปรเจ็กต์สําหรับการเปลี่ยนแปลงที่เข้ากันไม่ได้ (ดูด้านบน)
  • ลองใช้ตัวเลือกการเผยแพร่ได้ง่ายๆ

กระบวนการย้ายข้อมูลที่แนะนํา

การอัปเดตเล็กๆ น้อยๆ สําหรับรุ่น LTS แต่ละรุ่นสามารถเตรียมพร้อมสําหรับการเปิดตัวรุ่นถัดไปได้โดยไม่กระทบกับรุ่นปัจจุบัน แต่อาจมีการเปลี่ยนแปลงที่เข้ากันไม่ได้กับ LTS เวอร์ชันหลัก

โปรดทําตามขั้นตอนต่อไปนี้เพื่อย้ายข้อมูลจากเวอร์ชันหลักหนึ่งไปยังอีกเวอร์ชันหนึ่ง

  1. อ่านบันทึกประจํารุ่นเพื่อรับคําแนะนําเกี่ยวกับวิธีย้ายข้อมูลไปยังเวอร์ชันถัดไป
  2. การเปลี่ยนแปลงหลักที่เข้ากันไม่ได้ควรมีแฟล็ก --incompatible_* ที่เกี่ยวข้องและปัญหา GitHub ที่เกี่ยวข้อง ดังนี้
    • คําแนะนําในการย้ายข้อมูลมีอยู่ในปัญหา GitHub ที่เกี่ยวข้อง
    • เครื่องมือนี้ใช้ได้กับการย้ายข้อมูลการเปลี่ยนแปลงที่เข้ากันไม่ได้บางส่วน เช่น buildifier
    • รายงานปัญหาการย้ายข้อมูลโดยการแสดงความคิดเห็นเกี่ยวกับปัญหา GitHub ที่เกี่ยวข้อง

หลังการย้ายข้อมูล คุณจะสร้างโปรเจ็กต์ต่อได้โดยไม่ต้องกังวลเรื่องความเข้ากันได้แบบย้อนหลังจนกว่าจะถึงการเปิดตัวครั้งใหญ่ครั้งถัดไป