如何使用Cargo命令清理指定日期前的旧缓存?
Cargo清理指定日期前旧缓存的解决方案
原生Cargo没有内置的cargo clear-cache这类命令,也不支持直接按日期或时间差筛选清理项目target目录下的旧构建缓存,但可以通过以下两种方式实现需求:
一、用系统命令手动筛选删除
Linux/macOS(使用find命令)
- 删除30天前的旧缓存文件(建议先执行不带删除的预览命令,确认范围无误后再执行删除):
# 仅预览要删除的文件,确认后去掉末尾的|xargs -0 rm -rf find MY_PROJECT/target -type f -mtime +30 -print0 | xargs -0 rm -rf - 删除2023年1月20日之前的旧缓存:
find MY_PROJECT/target -type f ! -newermt "2023-01-20" -print0 | xargs -0 rm -rf
Windows(使用PowerShell)
- 删除30天前的旧缓存:
# 先去掉| Remove-Item -Recurse -Force预览要删除的文件,确认后再添加 Get-ChildItem -Path "MY_PROJECT/target" -Recurse | Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-30) } | Remove-Item -Recurse -Force - 删除2023年1月20日之前的旧缓存:
$cutoffDate = Get-Date "2023-01-20" Get-ChildItem -Path "MY_PROJECT/target" -Recurse | Where-Object { $_.LastWriteTime -lt $cutoffDate } | Remove-Item -Recurse -Force
二、用第三方Cargo扩展工具cargo-cache
这是社区维护的工具,支持更精细的缓存管理,包括按时间清理:
- 先安装工具:
cargo install cargo-cache - 按时间清理的用法:
# 删除30天前的缓存 cargo cache --remove-old 30d # 删除2023年1月20日之前的缓存 cargo cache --remove-before 2023-01-20 - 可以先执行
cargo cache --dry-run预览要删除的内容,确认无误后再执行实际清理。
注意:清理前建议备份重要的构建产物,避免误删需要的文件。
内容的提问来源于stack exchange,提问作者A. K.
相关产品推荐
相关产品推荐

