Importar la versión de la dependencia que requiere otra dependencia [duplicar]
Tengo dos cajas X
y Z
quiero usar ambas, pero X
depende Z
de alguna versión específica. Por ejemplo, mongodb depende de tokio 0.2 y yo estaba usando tokio 0.3.
X
no se reexporta, por Z
lo que (creo) tengo que especificar manualmente Z
en Cargo.toml
. Si especifico la versión incorrecta, podría romperse. ¿Cómo puedo decirle a Cargo que use la versión Z
que X
requiera?
Respuestas
Cargo tiene alguna capacidad de resolución de versión de dependencia automática. Debería poder especificar los requisitos de versión Z
que 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 X
no se expone Z
de ninguna manera, realmente no necesita usar la misma versión de Z
. Si usa una versión principal diferente Z
de 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.