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项目:
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指定的范围内)