gpt4 book ai didi

rust - 如何解决 Cargo 中的循环依赖?

转载 作者:行者123 更新时间:2023-12-04 11:56:34 33 4
gpt4 key购买 nike

我有 crate oauth2 (v4.1.0) 和 sqlx[json] (v0.5.5):

[dependencies]
oauth2 = "4.1.0"
sqlx = { version = "0.5.5", features = ["json"] }
尝试构建时,我收到以下错误:
error: cyclic package dependency: package `ahash v0.7.4` depends on itself. Cycle:
package `ahash v0.7.4`
... which is depended on by `hashbrown v0.11.2`
... which is depended on by `indexmap v1.7.0`
... which is depended on by `serde_json v1.0.64`
... which is depended on by `wasm-bindgen v0.2.74`
... which is depended on by `js-sys v0.3.51`
... which is depended on by `getrandom v0.2.3`
... which is depended on by `ahash v0.7.4`
这仅在我激活 json 时发生 sqlx 上的功能标志.我该如何解决此类问题?是否有任何解决方法可以使这些库/功能协同工作?有哪些替代方案?

最佳答案

在反复尝试了几件事之后,我找到的唯一解决方案是将锁定文件更新到最新版本,使用:

cargo update
之后, cargo clean && cargo build像魅力一样工作!似乎一些旧的补丁版本似乎有冲突,但是 Cargo.lock 中的更改太大而无法追踪,它是哪个 crate 组合。我希望能帮助其他人!
编辑:经过更多的交流和搜索,我直接在 ahash github 项目中提到了一个问题: https://github.com/tkaitchuck/aHash/issues/95 .
据此,实际的官方“解决方法”是/是,将 indexmap crate 固定到:
indexmap = "=1.6.2"
但是,当查看我的 Cargo.lock 文件时,它现在似乎可以使用:
indexmap = "1.7"

关于rust - 如何解决 Cargo 中的循环依赖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68399961/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com