直接运行 composer clear-cache 就能安全清理全局缓存,但它仅删除 ~/.composer/cache/(linux/macos)或 %appdata%\composer\cache(windows)下的 files/、repo/、vcs/ 子目录,不触碰 vendor/、composer.lock 或项目文件;需先用 composer config --global cache-dir 确认真实路径,再通过 du -sh(linux/macos)或资源管理器属性(windows)检查占用,超 1.5 gb 且半年未用才值得清理。

直接运行 composer clear-cache 就能安全清掉全局缓存,但它只动 ~/.composer/cache/(Linux/macOS)或 %APPDATA%\Composer\Cache(Windows)下的 files/、repo/、vcs/ 三个子目录,不碰 vendor/、composer.lock 或项目代码——这点必须先确认清楚,否则容易误以为“清了没用”,其实是删错了地方。
怎么确认当前缓存路径和真实占用?
别凭感觉删。先查 Composer 当前认的缓存目录在哪,再看它到底占了多少空间:
- 运行
composer config --global cache-dir,输出就是真实路径(注意:可能被COMPOSER_CACHE_DIR环境变量或公司镜像覆盖,~/.composer/cache不一定准) - Linux/macOS 下接着跑:
du -sh $(composer config --global cache-dir),一眼看出体积 - Windows 用户打开资源管理器,粘贴
%APPDATA%\Composer\Cache进地址栏,右键 → “属性” 看大小 - 不到 200 MB 基本不用管;超过 1.5 GB 且半年没碰老项目,才值得动手
为什么 composer clear-cache 清完空间没变?
最常见原因有三个:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 你真正想删的是
vendor/目录,不是缓存——一个中等 Laravel 项目vendor/常占 300–800 MB,而缓存可能只有 42 MB -
vcs/目录默认被跳过,但单个 Git 裸仓库就吃掉 300–800 MB,还耗尽 inode;必须手动删:rm -rf ~/.composer/cache/vcs/*(Linux/macOS)或rd /s /q "%APPDATA%\Composer\Cache\vcs"(Windows) - 临时目录
sys_get_temp_dir()下堆积了大量composer_*.zip、php*.phar文件,这个位置clear-cache完全不碰
CI/CD 或无交互终端里卡住怎么办?
在 GitHub Actions、GitLab CI 等环境里,composer clear-cache 默认会等待交互确认,直接 hang 住:
- 必须加
--no-interaction:避免卡在提示 - 建议先加
--dry-run预检:composer clear-cache --no-interaction --dry-run,确认输出路径是否指向预期位置(比如 NFS 挂载点而非本地磁盘) - 如果仍卡住,说明有后台进程锁着缓存目录:
lsof +D $(composer config --global cache-dir)(Linux/macOS),或handle.exe -p php.exe(Windows,需 Sysinternals 工具)
手动删比 clear-cache 更“精准”,但也更危险
官方命令会跳过正在被占用的文件,而手动 rm -rf 不会判断——删到一半被写入,后续可能报 Corrupted cache file:
- 只删下载过的原始包(节省最多空间):
rm -rf ~/.composer/cache/files/* - 只清元数据(解决“装不到新版包”类问题):
rm -rf ~/.composer/cache/repo/* - 只清 Git 克隆缓存(影响 vcs 类仓库拉取):
rm -rf ~/.composer/cache/vcs/* - 手删前务必确认没有
composer install或update进程在后台跑
真正省事的方式其实是定期跑 composer self-update——新版 Composer 对缓存压缩和复用更聪明,比反复清缓存更能稳住磁盘增长节奏。vcs 目录那个坑,尤其容易被忽略:它默认不清理,却常是磁盘杀手,且一旦被杀毒软件或 IDE 锁住,手动删都可能失败。










