如何修复Cargo文件中不匹配的依赖项以解决本机库冲突问题?

drp*_*tho 2 dependencies rust rust-rocket json-native-library

我正在使用Rocket设置Rust服务器,我正在尝试将它与JWT库一起使用.他们使用*ring*crate的不同版本,我在以下期间收到错误cargo build:

error: multiple packages link to native library `ring-asm`, but a native library can be linked only once

package `ring v0.12.1`
    ... which is depended on by `jsonwebtoken v4.0.1`
    ... which is depended on by `auther v0.1.0 (file:///home/drpytho/x/downloadble/auther)`
links to native library `ring-asm`

package `ring v0.11.0`
    ... which is depended on by `cookie v0.9.2`
    ... which is depended on by `rocket v0.3.6`
    ... which is depended on by `rocket_codegen v0.3.6`
    ... which is depended on by `auther v0.1.0 (file:///home/drpytho/x/downloadble/auther)`
also links to native library `ring-asm`
Run Code Online (Sandbox Code Playgroud)

我的Cargo.toml

[package]
name = "auther"
version = "0.1.0"
authors = ["Name <Email@mail.se>"]

[dependencies]
rocket = "0.3.6"
rocket_codegen = "0.3.6"
jsonwebtoken = "4"
serde_derive = "1"
serde = "1"
Run Code Online (Sandbox Code Playgroud)

我读到你应该修复Cargo文件中不匹配的依赖项,但我无法弄清楚如何去做.

DK.*_*DK. 7

您必须根据链接到本机库的不同版本的板条箱来传递修复此问题.

有没有更新的版本rocket取决于版本0.10cookie,这就要看ring 0.12,所以你需要降级jsonwebtoken2.0.3.

您可以通过检查有crates.io问题的包装箱的页面(比如jsonwebtoken),返回旧版本,并查看它需要的依赖项来解决这个问题.