我克隆并试图构建MIO协程库,但它的依赖关系似乎发生了冲突:
native library `kernel32` is being linked to by more than one package, and can only be linked to by one package
kernel32-sys v0.2.0
kernel32-sys v0.1.4
似乎依赖项time
需要kernel32
0.1.4,但另外两个依赖项fs2
和memmap
需要0.2.0。
我能做些什么来解决这个问题吗?或者在这种情况下,最好的解决方案就是提交一份错误报告吗?
与此相关的是,如果回购没有Cargo.lock,这算是一个错误吗?我看到它建议始终将Cargo.lock添加到版本控制中,以防止出现此类问题。
这是WinAPI错误跟踪器中记录的已知问题。
问题似乎是维护人员发布了一个新版本,将其从v0.1.x版本提升到v0.2.x版本。由于一些软件包依赖(并将继续依赖,直到更新)v0.1.x,Cargo抱怨这两个依赖不兼容,并拒绝将两者链接。混乱随之而来。
根据上面提到的罚单,这一点现在应该得到纠正。