นำเข้าเวอร์ชันของการอ้างอิงซึ่งการอ้างอิงอื่น ๆ ต้องการ [ซ้ำกัน]

Aug 19 2020

ฉันมีสองลังXและZฉันต้องการใช้ทั้งสองอย่าง แต่Xขึ้นอยู่กับZเวอร์ชันเฉพาะบางอย่าง ตัวอย่างเช่น mongodb ขึ้นอยู่กับ tokio 0.2 และฉันใช้ tokio 0.3

Xไม่ส่งออกซ้ำZดังนั้นฉัน (คิดว่า) ต้องระบุด้วยตนเองZในCargo.toml. หากฉันระบุเวอร์ชันผิดอาจทำให้เสียหายได้ ฉันจะบอกให้ขนส่งสินค้าใช้เวอร์ชันZที่Xต้องการได้อย่างไร

คำตอบ

2 Emoun Aug 19 2020 at 09:03

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

หากXไม่เปิดเผยZในทางใด ๆ คุณไม่จำเป็นต้องใช้เวอร์ชันเดียวกันของZ. ถ้าคุณใช้รุ่นใหญ่ที่แตกต่างกันของZกว่าXขนส่งสินค้าก็จะใช้ทั้งสองรุ่นครั้งสำหรับคุณและอีกครั้งสำหรับZX

ดูความคิดเห็นของ alexcrichton เกี่ยวกับเรื่องนี้สำหรับรายละเอียดเพิ่มเติมเล็กน้อย