Fix typo in cargo-toml-lock.md

pull/446/head
lijinpeng 3 years ago
parent aea7f0ef05
commit e906491824

@ -18,7 +18,7 @@
**那么问题来了,为何会有这种选择?**
原因是 `Cargo.lock`尽描述上一次成功构建的各种信息环境状态、依赖、版本等等Cargo 可以使用它提供确定性的构建环境和流程,无论何时何地。这种特性对于终端服务是非常重要的:能确定、稳定的在用户环境中运行起来是终端服务最重要的特性之一。
原因是 `Cargo.lock`尽描述上一次成功构建的各种信息环境状态、依赖、版本等等Cargo 可以使用它提供确定性的构建环境和流程,无论何时何地。这种特性对于终端服务是非常重要的:能确定、稳定的在用户环境中运行起来是终端服务最重要的特性之一。
而对于三方库来说,情况就有些不同。它不仅仅被库的开发者所使用,还会间接影响依赖链下游的使用者。用户引入了三方库是不会去看它的 `Cargo.lock` 信息的,也不应该受这个库的确定性运行条件所限制。
@ -35,7 +35,7 @@ version = "0.1.0"
regex = { git = "https://github.com/rust-lang/regex.git" }
```
可以看到,只有一个依赖,且该依赖的来源是 `Github` 上一个特定的仓库。由于我们没有指定任何版本信息,`Cargo` 会自动拉取该依赖库的最新版本( `master` 分支上的最新 `commit` )。
可以看到,只有一个依赖,且该依赖的来源是 `Github` 上一个特定的仓库。由于我们没有指定任何版本信息,`Cargo` 会自动拉取该依赖库的最新版本( `master/main` 分支上的最新 `commit` )。
这种使用方式,其实就错失了包管理工具的最大的优点:版本管理。例如你在今天构建使用了版本 `A`,然后过了一段时间后,由于依赖包的升级,新的构建却使用了大更新版本 `B`,结果因为版本不兼容,导致了构建失败。

Loading…
Cancel
Save