改进rust代码的35种具体方法-类型(二十一)-熟悉Cargo.toml版本使用

上一篇文章-改进rust代码的35种具体方法-类型(二十)-避免过度优化的诱惑


“如果我们承认SemVer是一个有损的估计,只代表可能变化范围的子集,我们可以开始将其视为一个钝器。”——Titus Winters,“谷歌软件工程(O'Reilly)”

 Rust的软件包管理器Cargo允许根据语义版本控制(semver)自动选择Rust代码的依赖项。Cargo.toml节喜欢:

[dependencies]
serde = "1.4"

cargo表明这种依赖性可以接受的semver版本范围。官方文档提供了有关指定可接受版本的精确范围的详细信息,但以下是最常用的变体:

  • "1.2.3":指定任何与1.2.3兼容的版本都是可以接受的
  • "^1.2.3":是另一种更明确地指定相同事物的方法
  • "=1.2.3":针脚到一个特定版本,不接受替代品
  • "~1.2.3":允许与1.2.3兼容的版本,但仅在最后指定的组件更改的情况下(因此1.2.4是可以接受的,但1.3.0不是)
  • "1.2.*":接受与通配符匹配的任何版本

这些规范允许的示例如下表所示。

依赖版本规范
技术规格 1.2.2 1.2.3 1.2.4 1.3.0 2.0.0
"1.2.3"
"^1.2.3"
&

你可能感兴趣的:(rust,开发语言,后端)