到目前为止,我已经看到三个...

[dependencies]
crate = "1.0.0"  # I think this is an exact version match
crate = "^1.0.0" # I think this means "use that latest 1.x.x"
crate = "*"      # I think this means "use the latest"

我很想知道如何使用依赖列表.如果有一个权威的来源来记录依赖项的不同语法,那就太好了.

推荐答案

crates.io documentation page on "Specifying Dependencies".总结如下:

  • 无符号或插入符号(^)表示"至少在这个版本,直到下一个不兼容的版本".

  • tilde(~)的意思是"至少这个版本,直到(但不包括)下一个次要/主要版本".也就是说,~1.2.3将接受1.2.X,其中103至少是3,~1.2将接受1.2.*~1将接受1.*.*.

  • 通配符(*)表示"任何看起来像这样的东西".也就是说,1.2.*将接受1.2.anything(1.2.01.2.7-beta1.2.93-dev.foo等,但不是1.3.0).

  • 不平等(>=><=)意味着显而易见:Cargo 使用的版本必须满足给定的不平等.

Rust相关问答推荐

使用DeliverProcess W或ShellExecuteExW复制Windows Run行为?

如何初始化match声明中的两个变量而不会激怒borrow 判断器?

Rust,polars CSV:有没有一种方法可以从impll BufRead(或任何字节迭代器)中读取CSV?

为什么我需要在这个代码示例中使用&

在HashMap中插入Vacant条目的可变借位问题

go 掉包装 struct 中的泛型

创建包含缺失值的框架

字段类型为Boxed的 struct 的生存期必须超过static

为什么 Rust 创建的 f32 小于 f32::MIN_POSITIVE?

使用 pyo3 将 Rust 转换为 Python 自定义类型

闭包返回类型的生命周期规范

str 和 String 的 Rust 生命周期

在 Rust 中使用 `SecTrustSettingsSetTrustSettings` 绑定导致 `errSecInternalComponent`

当你删除一个存在于堆栈中的值时,为什么 rust 不会抱怨

返回迭代器的特征

为什么 i32 Box 类型可以在 Rust 中向下转换?

第 7.4 章片段中如何定义 `thread_rng`

将数据序列化为 struct 模型,其中两个字段的数据是根据 struct 中的其他字段计算的

当引用不再被borrow 时,Rust 不会得到它

返回 &str 但不是 String 时,borrow 时间比预期长