Importar la versión de la dependencia que requiere otra dependencia [duplicar]

Aug 19 2020

Tengo dos cajas Xy Zquiero usar ambas, pero Xdepende Zde alguna versión específica. Por ejemplo, mongodb depende de tokio 0.2 y yo estaba usando tokio 0.3.

Xno se reexporta, por Zlo que (creo) tengo que especificar manualmente Zen Cargo.toml. Si especifico la versión incorrecta, podría romperse. ¿Cómo puedo decirle a Cargo que use la versión Zque Xrequiera?

Respuestas

2 Emoun Aug 19 2020 at 09:03

Cargo tiene alguna capacidad de resolución de versión de dependencia automática. Debería poder especificar los requisitos de versión Zque necesite, y cargo descubrirá cómo elegir la versión correcta para usar (potencialmente) tanto en su código como en X. Esto supone que ambas cajas utilizan correctamente el control de versiones semántico.

Si Xno se expone Zde ninguna manera, realmente no necesita usar la misma versión de Z. Si usa una versión principal diferente Zde X, Cargo solo usará ambas versiones Z, una para usted y otra para X.

Vea los comentarios de alexcrichton sobre esto para un poco más de detalle.