在 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/

    10-13 01:47