在Rust(+ Cargo)中开发库时,如何实现快速重新编译/测试循环?
开发应用时,很简单,我:
在代码中进行更改
切换到终端并运行cargo run
请参阅编译器反馈
但现在我想将我的应用程序的一部分作为库提取并在GitHub上发布。 我想继续开发我的应用程序,但现在将此库作为依赖项。我将同时开发库和应用程序。
如何获得相同的快速反馈?
库和应用程序都将在同一台机器上开发,我想对库进行更改,相应地更新应用程序并查看编译器反馈。
我猜我可以使用我的库作为Cargo.toml中的依赖项,每次我想更新我的应用程序的依赖项时运行cargo update
,但这会有点慢,因为它必须下载代码每次都从github重新编译所有依赖项。
答案 0 :(得分:10)
您可以使用这种有点无证的货物特征。将以下行添加到~/.cargo/config
文件(或/path/to/your/binary/project/.cargo/config
以限制对二进制项目的影响):
paths = ["/path/to/your/library"]
从现在开始,依赖于您的库的每个货物包(或/path/to/your/binary/project
根下的货物包)将使用/path/to/your/library
作为其源代码,无论此包清单中指定了什么,因此您可以在程序清单中保留Git repo URL。希望将来可以记录此功能。
<强>更新强>
现在记录在Cargo guide。
中