Using a Crate to Get More Functionality

crate 是rust源码的集合

rand crate是一个library crate 它只能被其他程序使用 不能自己单独执行

在使用rand之前要修改Cargo,toml

在Cargo,toml

【dependencies】指定依赖的外部crate

^0.8.5代表大于等于0.8.5但是小于0.9.0的版本

涉及到外部依赖的时候 cargo会从registry读取最新的依赖版本,registry是Crates.io的复制版 Crates.io的就是使用Rust的人发布开源项目的地方

build项目:

Untitled

update-download—compile

如果没有修改任何代码 就只输出Finished

Ensuring Reproducible Builds with the Cargo.lock File

第一次build项目的时候 cargo会找到依赖的所有版本并写入Cargo.lock 以后Build的时候 Cargo会找到Cargo.lock 然后使用Cargo.lock 里面指定的版本

Updating a Crate to Get a New Version

cargo update

更新Crate的时候 Cargo会忽略Cargo.lock 文件 然后找到所有依赖最新的版本(在Cargo.toml指定的范围内)