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

รายงานปัญหา ดูแหล่งที่มา /3} /4} {3/4} {3/4} {3/4} {3/4} /4.

กำลังติดตั้ง Bazel

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

สำหรับรายละเอียดเพิ่มเติม โปรดดู README อย่างเป็นทางการ

กำลังอัปเดต Bazel

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

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

Bazelisk ช่วยให้คุณจัดการ เวอร์ชัน Basl ได้

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

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

ขั้นตอนการย้ายข้อมูลที่แนะนำ

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

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

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

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