Importer la version de la dépendance requise par une autre dépendance [dupliquer]

Aug 19 2020

J'ai deux caisses Xet Zje veux utiliser les deux, mais cela Xdépend Zd'une version spécifique. Par exemple, mongodb dépend de tokio 0.2 et j'utilisais tokio 0.3.

Xne réexporte pas Zdonc je (pense) dois spécifier manuellement Zdans Cargo.toml. Si je spécifie la mauvaise version, cela pourrait casser. Comment puis-je dire à Cargo d'utiliser la version de Zcela Xrequise?

Réponses

2 Emoun Aug 19 2020 at 09:03

Cargo a une capacité de résolution automatique de version de dépendance. Vous devriez être en mesure de spécifier les exigences de version dont Zvous avez besoin, et cargo saura comment choisir la bonne version à (potentiellement) utiliser à la fois dans votre code et X. Cela suppose que les deux caisses utilisent correctement le contrôle de version sémantique.

S'il Xn'expose Zd'aucune façon, vous n'avez pas vraiment besoin d'utiliser la même version de Z. Si vous utilisez une version majeure différente Zde X, Cargo utilisera simplement les deux versions de Z, une fois pour vous et une fois pour X.

Voir les commentaires d'Alexcrichton à ce sujet pour un peu plus de détails.