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

Download history 452/week @ 2024-05-07 358/week @ 2024-05-14 534/week @ 2024-05-21 704/week @ 2024-05-28 3559/week @ 2024-06-04 6344/week @ 2024-06-11 7985/week @ 2024-06-18 8676/week @ 2024-06-25 13389/week @ 2024-07-02 8312/week @ 2024-07-09 3804/week @ 2024-07-16 6546/week @ 2024-07-23 7225/week @ 2024-07-30 2793/week @ 2024-08-06 3024/week @ 2024-08-13

每月下载量 19,836

Apache-2.0 协议

13KB
214 行代码(不含注释)

cargo gc

Crates.io License

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