Cargo Package
离线编译策略
简单地讲,cargo
为Package
提供了两套【离线编译】解决方案:
方案一:
cargo fetch
+cargo build --offline
方案二:
cargo vendor
+ 修改.cargo/config.toml
文件 +cargo build
两套方案的共同点
cargo fetch
与cargo vendor
命令【执行-位置】都需要在
Cargo Package
工程根目录被执行。【执行-时间】都需要在工程构建程序(无论是
build.rs
还是shell
脚本)被启动前,被预先执行。
无论依赖项的来源是
crates.io
还是github
,它们都可被预拉取和缓存至本地。
两套方案的差别
依赖项
crate
源码的储存位置crate.io
依赖项 ->$CARGO_HOME/registry/src
git