如何在代码中使用其他包的依赖项?

问题描述 投票:0回答:1

我想使用 sqlx 中使用的 uuid 依赖项。

//! ./Cargo.toml

sqlx = { version = "0.6", default-features = false, features = [
    "chrono",
    "macros",
    "migrate",
    "postgres",
    "runtime-tokio-rustls",
    "uuid",
  ] }
uuid = { features = ["v4", "fast-rng"] }

我假设,下面的这个版本将为我的项目下载单独版本的 uuid。

uuid = { features = ["v4", "fast-rng"], version = "1.4.1" }

我需要用它来获取sqlx的依赖吗?

uuid = { features = ["v4", "fast-rng"], version = "*" }
rust dependencies rust-cargo toml
1个回答
0
投票

假设

[email protected]
所依赖的版本是
[email protected]
第一个版本

uuid = { features = ["v4", "fast-rng"], version = "1.4.1" }

即从

Cargo.toml
sqlx
复制版本字符串是指定相同版本的正确方法,如果所有依赖项都解析为同一版本,则
cargo
只会下载包的单个实例。

uuid = { features = ["v4", "fast-rng"], version = "*" }

不指定使用其他要求指定的任何内容,它使用可用的最新版本(任何版本,它相当于

">=0.0.0"
)。

没有办法依赖依赖项依赖版本。

板条箱所做的是重新导出它们使用的板条箱,这与

sqlx
sqlx::types::uuid
没有什么不同,是 uuid
重新导出(嗯,这是
sqlx_core::types::core
的重新导出,但那是
uuid
重新导出)

因此,如果您想使用相同的类型,您可以将

use sqlx::types::uuid;
添加到源中,而不是将
uuid
添加到 `Cargo.toml。

© www.soinside.com 2019 - 2024. All rights reserved.