直接运行composer config --global cache-dir确认当前缓存路径,再用du -sh(linux/macos)或资源管理器“属性”(windows)查看真实占用;不到200 mb无需清理,超1.5 gb且半年未用老项目才值得动手。

怎么确认 Composer 当前缓存路径和真实占用?
别猜,直接问 Composer 自己。运行 composer config --global cache-dir,输出的就是它正在用的路径——Linux/macOS 通常是 ~/.composer/cache,Windows 是 %APPDATA%\Composer\Cache,但可能被 COMPOSER_CACHE_DIR 环境变量或公司镜像覆盖,所以必须查。
查完路径,立刻看大小:
- Linux/macOS:
du -sh $(composer config --global cache-dir) - Windows:把
%APPDATA%\Composer\Cache粘贴进资源管理器地址栏 → 右键“属性”
不到 200 MB 基本不用管;超 1.5 GB 且你半年没碰过某些老项目,才值得动手。否则清了也省不出多少空间。
composer clear-cache 为什么清完磁盘没变化?
最常见三个原因:
- 你真正想删的是
vendor/目录(中等 Laravel 项目常占 300–800 MB),而clear-cache完全不碰它 -
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 住。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
必须加 --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 更“精准”,但也更危险
clear-cache 会跳过正在被占用的文件,而 rm -rf 不判断——删到一半被写入,后续可能报 Corrupted cache file。
如果真要手动删,务必确保没有 composer install 或 update 进程在后台跑,再按需清理:
- 只删 ZIP 包(省最多空间):
rm -rf ~/.composer/cache/files/* - 只清元数据(解决“装不到新版包”):
rm -rf ~/.composer/cache/repo/* - 只清 Git 克隆缓存:
rm -rf ~/.composer/cache/vcs/*
vcs/ 是最容易被忽略的磁盘杀手,而且删完不会影响日常使用——除非你强制指定 --prefer-source 安装包。










