我克隆并尝试构建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,但是其他两个依赖性fs2
和memmap
则需要0.2.0。有什么我可以解决的方法,还是在这种情况下最好的解决方案就是提交错误报告?
与此相关的是,如果仓库没有Cargo.lock,那算不算是错误?我已经看到它建议始终将Cargo.lock添加到版本控制中,以防止出现此类问题。
最佳答案
这是一个已知问题,已记录在on the WinAPI bugtracker中。
似乎问题在于维护者发布了一个新版本,将其从v0.1.x升级到v0.2.x。由于某些软件包依赖于v0.1.x(并将在更新之前继续依赖),因此Cargo提示这两个依赖项不兼容,因此拒绝将两者都链接起来。随之而来的是困惑。
根据上述票证,现在应该纠正此问题。
关于rust - 本地库 `kernel32`被多个软件包链接到,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33605157/