本机库 `kernel32` 被多个包链接

Native library `kernel32` is being linked to by more than one package

我克隆并尝试构建 MIO coroutines library,但它的依赖关系似乎冲突:

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,但另外两个依赖项 fs2memmap 需要 0.2.0。

我能做些什么来解决这个问题,或者在这种情况下最好的解决方案是提交错误报告吗?

在相关说明中,如果回购协议没有 Cargo.lock,这算作错误吗?我看到它建议始终将 Cargo.lock 添加到版本控制中以防止出现此类问题。

这是一个已知问题,已记录在案 on the WinAPI bugtracker

问题似乎是维护者发布了一个新版本,将其从 v0.1.x 提升到 v0.2.x。由于一些包依赖(并且将继续依赖,直到它们被更新)v0.1.x,Cargo 抱怨这两个依赖不兼容,并拒绝 link 它们都在。混乱随之而来。

根据上面提到的工单,现在应该更正此问题。