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、ライブラリに依存するすべての貨物パッケージ (またはルートの下にあるもの)/path/to/your/libraryは、このパッケージ マニフェストで指定されているものに関係なく、そのソース コードとして使用されるため、プログラム マニフェストに Git リポジトリ URL を保持できます。うまくいけば、この機能は将来文書化されるでしょう。

アップデート

これはCargo guideに記載されています。

于 2014-08-11T12:59:40.600 に答える