爲 Rust 項目共享 Target 目錄

先讓我們看一下不同 Rust 項目的 target 文件夾大小:

如果你用 Rust 或 NodeJS 編碼,你可能會面臨一個問題,有許多臨時文件夾:target/, node_modules / 用於不同的項目,導致你的機器在有限的 1tb 存儲中消耗巨大的空間。

在這篇文章中,主要關注 Rust 項目。類似的解決方案也適用於其他語言,如 NodeJS,它需要大量的空間。

本文通過使用共享 target 目錄來指導如何更有效地管理 Rust 項目中的 target 文件夾。這種方法有助於減少磁盤空間消耗,並避免跨多個項目重複使用庫。

設置共享 target 目錄

要爲所有 Rust 項目設置一個共享的目標目錄,請遵循以下步驟:

1,打開或創建位於全局的 Cargo 配置文件

~/.cargo/config

2,在文件中添加以下幾行:

[build]
target-dir = "/path/to/shared/target/directory"

替換 “/path/to/shared/target/directory” 爲你自己的共享 target 目錄。

新項目

在創建一個新的 Rust 項目時,你不需要在本地 Cargo.toml 文件中設置關於共享 target 目錄的內容,全局 Cargo 配置文件 (~/.cargo/config) 負責爲所有項目設置共享 target 目錄。

現有項目

成功設置~/.cargo/config 文件後,你只需要在包含 Cargo.toml 文件的 rust 項目中執行三個步驟:

1,$ cargo clean,清理項目

2,$ rm -rf target/,刪除 target 目錄

3,$ cargo build,重新構造項目

現在,在項目根目錄下找不到任何 target 目錄。

侷限性

在大多數情況下,使用共享 target 目錄可以很好地工作,但也有一些限制:

替代方法

另一種管理 target 文件夾的方法是使用 Rust 應用程序或腳本週期性地刪除它們,該應用程序或腳本遞歸地搜索並刪除 “target” 目錄。這可以幫助回收磁盤空間,但請記住,需要在刪除 target 文件夾後重新構建項目。

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/dmhwSs4T7uTgB-hI_OryPA