在 Rust (+ Cargo) 中开发库时,如何实现快速的重新编译/测试周期?
开发应用程序时,很简单,我:
cargo run
但现在我想将我的应用程序的一部分提取为一个库并将其发布到 GitHub 上。
我想继续开发我的应用程序,但现在将此库作为依赖项。我将同时开发库和应用程序。
我现在如何获得同样的快速反馈?
库和应用程序将在同一台机器上开发,我想对库进行更改,相应地更新应用程序并查看编译器反馈。
我猜我可以使用我的库作为 Cargo.toml 中的依赖项,并在每次我想更新我的应用程序的依赖项时运行
cargo update
,但这会有点慢,因为它每次都必须从 github 下载代码并重新编译所有依赖关系。 最佳答案
您可以使用这种有点未记录的 cargo 功能。将以下行添加到 ~/.cargo/config
文件(或 /path/to/your/binary/project/.cargo/config
以限制对二进制项目的影响):
paths = ["/path/to/your/library"]
从现在开始,每个依赖于你的库的 cargo 包(或
/path/to/your/binary/project
根目录下的那些)都将使用 /path/to/your/library
作为它的源代码,不管这个包 list 中指定了什么,所以你可以在你的程序 list 中保留 Git repo URL。希望将来会记录此功能。更新
这现在记录在 Cargo guide 中。
关于workflow - Rust 库开发工作流程,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25243199/