composer clear-cache 默认清理 repo/ 和 files/ 目录,但需先用 composer config --global cache-dir 确认真实路径,再手动验证是否清空,因命令无删除数量提示且易受环境变量、权限或文件占用影响。

composer clear-cache 默认就清 repo 和 files,但得确认它真在干活
直接运行 composer clear-cache 就会删掉 repo/(包元数据)和 files/(所有 .zip/.tar 包),这是它的默认行为。但它不会报“已删除 X 个文件”,只输出类似 Clearing cache (cache-dir): /home/user/.composer/cache——很多人看到这行就以为完事了,其实可能根本没删成。
常见卡点:
- 路径不对:
COMPOSER_CACHE_DIR环境变量或公司镜像配置覆盖了默认路径,clear-cache清的是空目录 - 权限不足:之前用
sudo composer install写过缓存,现在普通用户执行会被拒 - 后台进程锁着:PHPStorm、杀毒软件正在扫描
~/.composer/cache/files/,系统拒绝删除
验证是否真清了:运行 composer config --global cache-dir 拿到路径后,立刻进该目录看 repo/ 和 files/ 是否为空;别信命令输出,信 ls -la 的结果。
想跳过确认、强制清,必须加 --no-interaction
在 CI/CD(如 GitHub Actions)或无交互终端里,composer clear-cache 默认会卡在 “Do you want to continue?” 提示上,导致构建挂起。不加 --no-interaction 就等于没执行。
安全做法是先预检:
-
composer clear-cache --no-interaction --dry-run:只打印将要清理的路径,不删任何东西 - 确认输出路径是你预期的(比如不是 NFS 挂载点,也不是
/tmp这种小分区) - 再跑真实命令:
composer clear-cache --no-interaction
漏掉 --no-interaction 是 CI 场景下最常被忽略的硬伤,不是 bug,是设计如此。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
手动删 repo/ 和 files/ 更快也更准,但风险自担
如果你已经确认没其他 composer 进程在跑(ps aux | grep composer),手动删比命令更可控:
- Linux/macOS:
rm -rf $(composer config --global cache-dir)/repo/* $(composer config --global cache-dir)/files/* - Windows PowerShell:
Remove-Item -Recurse -Force "$env:APPDATA\Composer\Cache\repo\*", "$env:APPDATA\Composer\Cache\files\*"
注意两点:
- 别删整个
vcs/目录——它默认不被clear-cache处理,但单个 Git 裸仓库能占 300–800 MB,且耗尽 inode;需要单独处理 - 手删不检查文件占用,删到一半被写入,后续
composer update可能报Corrupted cache file
清完 repo/ 和 files/ 后装包变慢?不是故障,是预期行为
清掉 repo/ 意味着下次 composer install 必须重新 HTTP 请求镜像源拉 packages.json;清掉 files/ 则所有 dist 包都得重下——尤其含大前端资源的包(如 laravel/ui)会明显拖慢。
这不是命令失败,而是缓存机制的设计逻辑:
-
repo/缺失 → 每次都要查元数据,无法本地命中 -
files/缺失 → 所有 ZIP 都走网络下载,不复用已有归档 - 如果频繁清又频繁装,不如设上限:
composer config --global cache-max-size "500M"(Composer 2.5+)
真正容易被忽略的是:缓存路径可能被环境变量或镜像服务悄悄改写,而 clear-cache 对此完全静默——查路径这一步,永远不能跳。

















