5 个版本
0.1.4 | 2024年5月7日 |
---|---|
0.1.3 | 2023年11月15日 |
0.1.2 | 2023年10月9日 |
0.1.1 | 2023年8月24日 |
0.1.0 | 2023年8月24日 |
在 Cargo 插件 中排名 109
每月下载量 19,836
13KB
214 行代码(不含注释)
cargo gc
Cargo 扩展,用于回收过时的构建工件。并尽可能避免重新编译。
用法
使用 cargo 安装
cargo install cargo-gc-bin
可执行文件名为 cargo-gc
。您可以使用 cargo gc
命令调用它
cargo gc
它将检查并删除当前项目中的所有过时构建工件。有关更多信息,请参阅 cargo gc --help
限制/已知问题
- 它需要调用
cargo build
,这需要花费很多时间。 - GC 后需要重新链接
-
cargo check
将从头开始重新检查
说明
cargo gc
使用 cargo build
的输出信息来帮助识别正在使用的构建工件,并删除其他所有工件。在当前实现中,顶级工件没有被识别,导致 GC 后需要重新链接。
与其他工具(如 cargo sweep
)相比,这个工具基于 cargo 本身提供的信息,而不是文件系统时间戳。因此,它可以更准确,并且尽可能避免重新编译。
下一步
从技术上来说,可以实现一个“完美”的GC,它可以移除所有过时的工件,而不需要任何重新编译。并且以完全静态的方式完成(即,不调用cargo build
)。因为元组("crate名称","指纹")可以在cargo
之外计算。
依赖项
~4–12MB
~124K SLoC