Cargo 使用本地的 crate(本地包代码)
文章目录
【注意】最后更新于 February 8, 2020,文中内容可能已过时,请谨慎使用。
默认在 Cargo.toml 中指定了包以后,Cargo build 的时候会从 crates.io 上下载远程 的对应包代码。本文将介绍如何在 Cargo.toml 中指定使用本地机器上某个目录下的包, 方便调试本地开发的包或者在没网的环境下开发和调试。
待调用的本地包
假设我们要使用的包是 hello, 通过cargo new hello
创建:
|
|
我们给这个包加一个 hi
函数:
|
|
现在我们要在别的地方使用 hello
这个包,比如调用hello.hi
函数,该如何设置呢?
配置使用本地包
假设我们在 hello 的同级目录有一个 demo
项目,这个项目将使用 hello
包里的函数。
先创建这个 demo
项目:
|
|
然后在项目中增加调用代码:
|
|
最后关键的一步就是配置 Cargo.toml 使用本地的 hello
包。
先来看一下当前的目录结构:
|
|
可以看出来, hello
相对于 demo/Cargo.toml
的目录位置是 ../hello
。 然后我们配置一下 demo/Cargo.toml
指定使用这个目录下的 hello
包:
|
|
在 demo
项目目录下执行 cargo run
看看效果:
|
|
可以看到 demo
确实使用了本地的 hello
包的代码。👍
P.S. 上面的:
|
|
也可以改为:
|
|
参考资料
文章作者 lixueping
上次更新 2020-02-08
许可协议 MIT