7

在 Rust (+ Cargo) 中开发库时,如何实现快速的重新编译/测试周期?

在开发应用程序时,这很容易,我:

  • 在代码中进行更改

  • 切换到终端并运行cargo run

  • 查看编译器反馈

但现在我想将我的应用程序的一部分提取为库并将其发布到 GitHub 上。我想继续开发我的应用程序,但现在将此库作为依赖项。我将同时开发库和应用程序。

我现在如何获得同样的快速反馈?

库和应用程序都将在同一台机器上开发,我想对库进行更改,相应地更新应用程序并查看编译器反馈。

我猜我可以在 Cargo.toml 中使用我的库作为依赖项并在cargo update每次我想更新我的应用程序的依赖项时运行,但这会有点慢,因为它每次都必须从 github 下载代码并重新编译所有依赖项.

4

1 回答 1

10

您可以使用 cargo 的这个有点无证的功能。将以下行添加到~/.cargo/config文件中(或/path/to/your/binary/project/.cargo/config限制对二进制项目的影响):

paths = ["/path/to/your/library"]

/path/to/your/binary/project从现在开始,依赖于您的库的每个 cargo 包(或根目录下的包)都将/path/to/your/library用作它的源代码,无论此包清单中指定了什么,因此您可以将 Git repo URL 保留在程序清单中。希望将来会记录此功能。

更新

这现在记录在货物指南中。

于 2014-08-11T12:59:40.600 回答