Workflow Rust库开发工作流
在Rust(+Cargo)中开发库时,如何实现快速重新编译/测试循环 开发应用程序时很容易,我:Workflow Rust库开发工作流,workflow,rust,rust-cargo,Workflow,Rust,Rust Cargo,在Rust(+Cargo)中开发库时,如何实现快速重新编译/测试循环 开发应用程序时很容易,我: 在代码中进行更改 切换到终端并运行cargo run 请参阅编译器反馈 但现在我想将我的应用程序的一部分提取为库,并将其发布到GitHub上。 我想继续开发我的应用程序,但现在将此库作为一个依赖项。我将同时开发库和应用程序 我现在如何获得相同的快速反馈 库和应用程序都将在同一台机器上开发,我想对库进行更改,相应地更新应用程序,并查看编译器的反馈 我猜我可以将我的库用作Cargo.toml中的依赖
- 在代码中进行更改
- 切换到终端并运行
cargo run
- 请参阅编译器反馈
我猜我可以将我的库用作Cargo.toml中的依赖项,并在每次我想更新应用程序的依赖项时运行
Cargo update
,但这会有点慢,因为每次都必须从github下载代码并重新编译所有依赖项。您可以使用Cargo的这一未记录的功能。将以下行添加到~/.cargo/config
文件(或/path/to/your/binary/project/.cargo/config
以限制对二进制项目的影响):
从现在起,依赖于您的库的每个货物包(或/path/to/your/binary/project
根目录下的货物包)将使用/path/to/your/library
作为其源代码,而不管此包清单中指定了什么,因此您可以在程序清单中保留Git repo URL。希望将来会记录此功能
更新
现在,中记录了这一点,我觉得您也可以将其添加到单个项目中(使用
cargo.toml
旁边的.cargo/config
,而不是~
),但我可能记错了。@dbaupp,您可能是,谢谢!奇怪,但这对我不起作用。当我更新货物时,货物仍然连接到GitHub@ValentinVasilyev,cargo update
始终更新远程存储库,但在构建过程中,将使用通过cargo build
本地路径进行的更新。@Valentivasilyev,这实际上是现在记录的,不确定已经记录了多长时间。
paths = ["/path/to/your/library"]