我的项目中有依赖于X的Z和依赖于Z的依赖Y,但是对于X和Y的版本需求是不同的。此外,我在我的项目中使用Z本身,并希望它成为可能的最新版本。那么有什么办法解决这场冲突吗?例如,请指定两个版本都必须由cargo下载,或者重写X或Y请求的版本
发布于 2022-08-30 23:50:58
除非所讨论的依赖关系是非常必要的(例如异步运行时),并且在您的版本和旧版本之间没有突破性的更改,否则您很适合使用。货物为你卸下所有的重物。
基本上,cargo下载两个版本,一个版本编译您的机箱,另一个版本编译另一个机箱。
对于上面提到的运行时,代码仍然可以编译,但是您会得到一个运行时错误,所以静态代码可以很好地编译,如果代码不再试图访问不再存在的东西,那么一切都会正常工作。
这以前曾发生在托基奥生态系统中。一些软件包被更新为tokio 1x,还有一些仍在0x上。再次,这是一个例外,货物为你做所有的管理,大多数时候你真的不需要担心它。
发布于 2022-09-04 11:19:34
这可能是由本地缓存问题引起的。尝试删除~/.cargo/registry目录并尝试重新构建到项目。
https://stackoverflow.com/questions/73425675
复制相似问题