我们可以动态引用crate,build时从crate.io下载,但可能因无法下载导致build失败。首次正常引用三方crate,build时自动下载的crate源码,我们将其拷贝到固定目录中;
build后可在RustRover中按住Ctrl键,在crate名称或类型上点击鼠标左键跳转到库目录,默认位置如图:
我们将目标库拷贝到E盘目录备用,如:
在Cargo.toml中微调引用方式即可:
[dependencies] #tokio = {version = "1.35.1", features = ["full"]} tokio = {path = "../rust-crate/tokio-1.35.1", features = ["full"]} #async-recursion = "1.0.5" async-recursion = {path = "../rust-crate/async-recursion-1.0.5"}
注意,这里库path是以本项目Cargo.toml文件为基准的相对路径。重新build库,不再去crate.io下载,断网也可以build成功。
有时引用一个crate,会间接导入其他crate,需要逐个拷贝。