0Pricing
Learn Rust Coding · บทเรียน

จัดการสิ่งที่ต้องพึ่งพาด้วย Crates

ทำความเข้าใจวิธีที่ Cargo จัดการ crates ภายนอก (ไลบรารี) และวิธีเผยแพร่ของคุณเองเพื่อให้ชุมชนนำไปใช้

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

Crate และ Cargo คืออะไร

ใน Rust crate คือหน่วยพื้นฐานสำหรับการคอมไพล์และการแจกจ่าย ลองนึกภาพว่าเป็นแพ็กเกจหรือไลบรารีที่บรรจุโค้ดของคุณ

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

ไฟล์ `Cargo.toml`

ทุกโปรเจกต์ Rust ที่จัดการด้วย Cargo จะมีไฟล์ Cargo.toml อยู่ในไดเรกทอรีราก ไฟล์นี้คือไฟล์แสดงรายการของโปรเจกต์ ซึ่งเขียนด้วย TOML (Tom's Obvious, Minimal Language)

ไฟล์นี้กำหนดข้อมูลเกี่ยวกับโปรเจกต์ และที่สำคัญที่สุดคือแสดงรายการสิ่งที่ต้องพึ่งพา

การกำหนดค่าโปรเจกต์

ส่วน [package] ใน Cargo.toml เก็บข้อมูลสำคัญเกี่ยวกับ crate ของคุณไว้:

  • name: ชื่อ crate ของคุณ
  • version: รุ่นปัจจุบันของ crate
  • edition: รุ่นของ Rust ที่จะใช้ เช่น 2021
  • authors: ผู้สร้าง crate

รายละเอียดเหล่านี้สำคัญอย่างยิ่ง โดยเฉพาะหากคุณวางแผนจะเผยแพร่ crate

การเพิ่มสิ่งที่ต้องพึ่งพา

หากต้องการใช้ไลบรารีภายนอกหรือ crate อื่นในโปรเจกต์ ให้แสดงรายการไว้ใต้ส่วน [dependencies] ใน Cargo.toml

เมื่อคุณสร้างโปรเจกต์ Cargo จะดาวน์โหลดและคอมไพล์สิ่งที่ต้องพึ่งพาเหล่านี้จาก crates.io ซึ่งเป็นทะเบียนแพ็กเกจกลางของ Rust โดยอัตโนมัติ

ไวยากรณ์ของสิ่งที่ต้องพึ่งพา

นี่คือวิธีประกาศสิ่งที่ต้องพึ่งพาใน Cargo.toml:

[dependencies] rand = "0.8.5"

ข้อความนี้บอกให้ Cargo ดึง crate rand รุ่น 0.8.5 มาใช้ นอกจากนี้คุณยังสามารถระบุช่วงรุ่นหรือเส้นทางภายในเครื่องได้

การใช้ Crate: ตัวอย่าง

มาลองเพิ่ม crate rand เพื่อสร้างตัวเลขสุ่มกัน ขั้นแรก ตรวจสอบให้แน่ใจว่า rand = "0.8.5" อยู่ใน [dependencies] จากนั้นนำไปใช้ในโค้ดของคุณ

use rand::Rng; // Import the Rng trait

fn main() {
  let mut rng = rand::thread_rng(); // Create a random number generator
  let n: u8 = rng.gen_range(1..=10); // Generate a number between 1 and 10 (inclusive)
  println!("Your random number is: {}", n);
}

ไฟล์ `Cargo.lock`

หลังจากสร้างโปรเจกต์ที่มีสิ่งที่ต้องพึ่งพาแล้ว Cargo จะสร้างไฟล์ Cargo.lock ไฟล์นี้บันทึกรุ่นที่แน่นอนของสิ่งที่ต้องพึ่งพาทั้งโดยตรงและโดยอ้อมทั้งหมดที่ใช้ในโปรเจกต์

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

การอัปเดตสิ่งที่ต้องพึ่งพา

เมื่อเวลาผ่านไป สิ่งที่ต้องพึ่งพาของคุณอาจออกรุ่นใหม่ที่แก้ไขข้อบกพร่องหรือเพิ่มฟีเจอร์ หากต้องการอัปเดต ให้ใช้คำสั่ง cargo update

คำสั่งนี้จะตรวจสอบ crates.io เพื่อค้นหารุ่นใหม่ที่ตรงตามข้อกำหนดรุ่นใน Cargo.toml แล้วอัปเดต Cargo.lock ให้สอดคล้องกัน

การเผยแพร่ Crate ของคุณเอง

ต้องการแบ่งปันโค้ด Rust สุดยอดของคุณกับชุมชนใช่ไหม คุณสามารถเผยแพร่ crate ของคุณเองไปยัง crates.io ได้

ก่อนเผยแพร่ ตรวจสอบให้แน่ใจว่า Cargo.toml มีข้อมูลประกอบที่เหมาะสม เช่น ลิงก์ description, license และ repository

คำสั่งเผยแพร่

กระบวนการมีขั้นตอนไม่ซับซ้อน:

  1. เข้าสู่ระบบ: ใช้ cargo login <token> พร้อมโทเคน API จาก crates.io
  2. เผยแพร่: เรียกใช้ cargo publish จากไดเรกทอรีรากของโปรเจกต์

Cargo จะตรวจสอบ แพ็กเกจโค้ด และอัปโหลดโค้ดของคุณ ทำให้ผู้อื่นนำไปใช้ได้!

ตรวจสอบอย่างรวดเร็ว: Cargo และ Crates

ข้อความใดต่อไปนี้เกี่ยวกับการจัดการแพ็กเกจของ Rust ด้วย Cargo ที่เป็นจริง

สรุป: การจัดการสิ่งที่ต้องพึ่งพา

คุณได้เรียนรู้แล้วว่า Cargo มีความสำคัญต่อการจัดการโปรเจกต์ Rust และสิ่งที่โปรเจกต์ต้องพึ่งพาอย่างไร!

  • Crates คือแพ็กเกจโค้ดที่นำกลับมาใช้ซ้ำได้
  • Cargo.toml ใช้กำหนดโปรเจกต์และสิ่งที่โปรเจกต์ต้องพึ่งพา
  • Cargo.lock ช่วยให้การสร้างโปรแกรมได้ผลลัพธ์เหมือนเดิม
  • คุณสามารถ เผยแพร่ crates ของตนเองไปยัง crates.io ได้

ระบบอันทรงพลังนี้ทำให้การแบ่งปันและนำโค้ดกลับมาใช้ใน Rust มีประสิทธิภาพและน่าเชื่อถืออย่างยิ่ง

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

บทเรียน “จัดการสิ่งที่ต้องพึ่งพาด้วย Crates” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “จัดการสิ่งที่ต้องพึ่งพาด้วย Crates” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Learn Rust Coding ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Learn Rust Coding มีบทเรียนทั้งหมด 3 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “จัดการสิ่งที่ต้องพึ่งพาด้วย Crates”

ทำความเข้าใจวิธีที่ Cargo จัดการ crates ภายนอก (ไลบรารี) และวิธีเผยแพร่ของคุณเองเพื่อให้ชุมชนนำไปใช้ คุณปฏิบัติ Learn Rust Coding ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

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

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

บทเรียน “จัดการสิ่งที่ต้องพึ่งพาด้วย Crates” ใช้เวลานานแค่ไหน

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

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

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

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

  1. จัดระเบียบโค้ดด้วยโมดูล
  2. จัดการสิ่งที่ต้องพึ่งพาด้วย Crates
  3. การจัดการข้อผิดพลาดอย่างแข็งแกร่งด้วย `Result`
← กลับไปที่ Learn Rust Coding