0Pricing
Zig Academy · บทเรียน

build.zig.zon และตัวจัดการแพ็กเกจ

ประกาศสิ่งที่ต้องพึ่งพาในไฟล์แสดงรายการ

build.zig.zon และตัวจัดการแพ็กเกจ เป็นบทเรียน Zig Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Zig Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Zig Academy มีบทเรียนทั้งหมด 4 บทเรียน

ไฟล์รายการสำหรับแพ็กเกจ

ถัดจาก build.zig จะมี build.zig.zon ซึ่งเป็นไฟล์รายการที่ระบุชื่อแพ็กเกจและรายการสิ่งที่แพ็กเกจพึ่งพา 📜

ZON คือสัญกรณ์ออบเจกต์ของ Zig

ไฟล์นี้เขียนด้วย ZON ซึ่งมีลักษณะเหมือนลิเทอรัลโครงสร้างข้อมูลนิรนามของ Zig ชื่อฟิลด์ที่มีจุดคั่นจะจับคู่กับค่าของ Zig ทั่วไป

.{
    .name = .myapp,
    .version = "0.1.0",
}

ชื่อและเวอร์ชัน

ฟิลด์ที่จำเป็นสองรายการคือ name ซึ่งระบุแพ็กเกจ และเวอร์ชันที่ใช้รูปแบบการกำหนดเวอร์ชันเชิงความหมาย เช่น 1.2.0

.name = .myapp,
.version = "0.1.0",

แสดงรายการสิ่งที่พึ่งพา

ฟิลด์ dependencies เป็นโครงสร้างข้อมูลของรายการต่าง ๆ โดยมีหนึ่งรายการต่อหนึ่งแพ็กเกจภายนอกที่คุณต้องการนำเข้าสู่การสร้าง

.dependencies = .{
    .mylib = .{},
},

URL ชี้ไปยังซอร์สโค้ด

สิ่งที่พึ่งพาแต่ละรายการระบุ url ไปยังไฟล์ tarball ซึ่งโดยทั่วไปเป็นคลังเก็บที่ติดแท็กไว้บนบริการโฮสต์โค้ด จากนั้น Zig จะดาวน์โหลดและแตกไฟล์ให้คุณ

.url = "https://example.com/mylib-1.0.0.tar.gz",

แฮชจะล็อกข้อมูลไว้

ฟิลด์ hash จะระบุไบต์ที่แน่นอนของไฟล์ดาวน์โหลดนั้น หากเนื้อหาเปลี่ยนแปลง แฮชจะไม่ตรงกันและการสร้างจะปฏิเสธไฟล์ดังกล่าว

.hash = "122012ab...",

ให้ zig fetch เติมข้อมูลให้

โดยทั่วไปคุณไม่ต้องพิมพ์แฮชด้วยตนเอง เรียกใช้ zig fetch พร้อม url แล้วคำสั่งจะดาวน์โหลด คำนวณแฮช และเขียนรายการให้คุณ

zig fetch --save https://example.com/mylib-1.0.0.tar.gz

แคชส่วนกลาง

แพ็กเกจที่ดาวน์โหลดจะถูกเก็บไว้ในแคชที่ใช้ร่วมกันบนเครื่องของคุณ หลายโครงการจึงใช้สำเนาเดียวกันและไม่เก็บสิ่งที่พึ่งพาเดียวกันซ้ำ

paths ระบุสิ่งที่จะจัดส่ง

ฟิลด์ paths จะแสดงรายการไฟล์ที่รวมอยู่เมื่อแพ็กเกจของคุณถูกใช้เป็นสิ่งที่พึ่งพาเอง ใช้ .{""} เพื่อจัดส่งทุกอย่างในโฟลเดอร์

.paths = .{ "build.zig", "src" },

ส่งไฟล์รายการเข้าคลัง

เนื่องจากมีแฮชที่แน่นอน build.zig.zon จึงทำให้การสร้างทำซ้ำได้เหมือนเดิม ส่งไฟล์นี้เข้าคลังเพื่อให้สมาชิกทีมทุกคนดาวน์โหลดโค้ดเดียวกันทุกประการ

build.zig อ่านไฟล์นี้

ไฟล์รายการทำงานคู่กับ build.zig ซึ่งเปลี่ยนสิ่งที่พึ่งพาแต่ละรายการให้เป็นโมดูลที่ใช้งานได้ ไฟล์ .zon ใช้บรรยาย ส่วนสคริปต์การสร้างใช้เชื่อมต่อ

const dep = b.dependency("mylib", .{});

ตรวจสอบอย่างรวดเร็ว

ทบทวนว่าอะไรรับประกันว่าไฟล์ดาวน์โหลดของสิ่งที่พึ่งพาไม่ถูกแก้ไข

สรุปทบทวน

คุณได้รู้จัก build.zig.zon ซึ่งเป็นไฟล์รายการ ZON ที่มีชื่อ เวอร์ชัน และสิ่งที่พึ่งพา โดยแต่ละรายการมี url และ hash ที่ zig fetch สามารถเติมให้ได้ 🎯

คำถามที่พบบ่อย

บทเรียน “build.zig.zon และตัวจัดการแพ็กเกจ” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “build.zig.zon และตัวจัดการแพ็กเกจ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Zig Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Zig Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “build.zig.zon และตัวจัดการแพ็กเกจ”

ประกาศสิ่งที่ต้องพึ่งพาในไฟล์แสดงรายการ คุณปฏิบัติ Zig Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Zig Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Zig Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน

บทเรียน “build.zig.zon และตัวจัดการแพ็กเกจ” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Zig Academy นี้ได้ไหม

ได้ บทเรียน Zig Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. นำเข้าไฟล์ด้วย @import
  2. การจัดโครงสร้างโครงการหลายไฟล์
  3. build.zig.zon และตัวจัดการแพ็กเกจ
  4. การเพิ่มโมดูลจากผู้พัฒนาภายนอก
← กลับไปที่ Zig Academy