การติดตั้ง / อัปเดต 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 ที่เกี่ยวข้อง

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