นำเข้าเวอร์ชันของการอ้างอิงซึ่งการอ้างอิงอื่น ๆ ต้องการ [ซ้ำกัน]
ฉันมีสองลังX
และZ
ฉันต้องการใช้ทั้งสองอย่าง แต่X
ขึ้นอยู่กับZ
เวอร์ชันเฉพาะบางอย่าง ตัวอย่างเช่น mongodb ขึ้นอยู่กับ tokio 0.2 และฉันใช้ tokio 0.3
X
ไม่ส่งออกซ้ำZ
ดังนั้นฉัน (คิดว่า) ต้องระบุด้วยตนเองZ
ในCargo.toml
. หากฉันระบุเวอร์ชันผิดอาจทำให้เสียหายได้ ฉันจะบอกให้ขนส่งสินค้าใช้เวอร์ชันZ
ที่X
ต้องการได้อย่างไร
คำตอบ
Cargo มีความสามารถในการแก้ปัญหาเวอร์ชันพึ่งพาอัตโนมัติ คุณควรจะสามารถที่จะระบุรุ่นสิ่งที่ต้องการของZ
คุณต้องการและการขนส่งสินค้าจะคิดออกว่าจะเลือกรุ่นที่ถูกต้องที่จะ (อาจ) X
การใช้งานทั้งในรหัสของคุณและ นี่คือสมมติว่าทั้งสองลังใช้การกำหนดเวอร์ชันความหมายอย่างถูกต้อง
หากX
ไม่เปิดเผยZ
ในทางใด ๆ คุณไม่จำเป็นต้องใช้เวอร์ชันเดียวกันของZ
. ถ้าคุณใช้รุ่นใหญ่ที่แตกต่างกันของZ
กว่าX
ขนส่งสินค้าก็จะใช้ทั้งสองรุ่นครั้งสำหรับคุณและอีกครั้งสำหรับZ
X
ดูความคิดเห็นของ alexcrichton เกี่ยวกับเรื่องนี้สำหรับรายละเอียดเพิ่มเติมเล็กน้อย