composer clear-cache仅清理全局缓存中的files/、repo/、vcs/子目录,不删installers/、archives/,且完全跳过vendor/、composer.lock等项目文件;vcs/默认不被清理但占空间最大,需手动删除或禁用cache.vcs。

Composer 没有“关键帧缓存”这个概念,这是对缓存机制的常见误解。它只有文件级、元数据级和 VCS 级缓存,清理和加速必须按真实层级操作。
composer clear-cache 到底清什么、不碰什么
执行 composer clear-cache 仅删除全局缓存目录下的 files/(.zip/.tar 包)、repo/(packages.json 快照)、vcs/(git 克隆副本)三个子目录,默认不删 installers/,也不动 archives/(部分版本中存在)。它完全跳过项目内的 vendor/、composer.lock 和 composer.json —— 这些不是缓存,删了项目就废。
常见误判点:
- 看到磁盘满就跑
clear-cache,结果只腾出 200MB,因为真正占几 GB 的是vcs/目录(每个 Laravel/Symfony Git 克隆带完整.git) - 清完发现装包变慢,这不是命令错了,而是
repo/缺失导致每次都要 HTTP 请求镜像源拉packages.json,files/缺失则所有 dist 包重下 - 在 CI 中无脑加
clear-cache,反而破坏缓存复用,构建时间不降反升
精准释放空间:绕过 clear-cache 的手动清理
想省空间又不想全清?直接进缓存目录动手更可控:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 删最大头:
rm -rf ~/.composer/cache/files/*(Linux/macOS)或rd /s /q "%APPDATA%\Composer\Cache\files"(Windows),这部分通常占 70%+ 体积 - 清 Git 垃圾:
rm -rf ~/.composer/cache/vcs/*,CI 或小磁盘机器可一劳永逸禁用:composer config --global cache-vcs false,后续全走--prefer-dist - 留
repo/加速元数据解析:repo/只占几十 MB,但能避免首次composer update卡在 “Loading composer repositories” 阶段 - 别碰
installers/和archives/,它们体积小且重建开销低,误删可能引发安装器加载失败
缓存配置与路径迁移:治本而非救火
频繁清理说明缓存策略没设对。Composer 2.5+ 支持硬性限制:
- 设大小上限:
composer config --global cache-max-size "500M",超限时自动 GC 最旧文件 - 改 TTL 缩短过期周期:
composer config --global cache-files-ttl 2592000(30 天),避免老包长期滞留 - 迁移到大分区:
composer config -g cache-dir /data/composer-cache,避开/home或C:\小盘 - 只读模式(容器场景):
composer config --global cache-read-only true,防止写入失败报错
注意:cache-max-size 和 cache-files-ttl 是 Composer 自动触发 GC 的依据,但 clear-cache --gc 才会真正执行清理——两者要配着用。
加速 install/update 的真实有效参数组合
缓存只是基础,真正提速靠命令参数和环境控制:
- 关 Xdebug:
php -d xdebug.mode=off composer install,不开它慢 3–5 倍 - 换国内镜像:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ - 生产构建黄金组合:
composer install --no-dev --prefer-dist --optimize-autoloader --classmap-authoritative - CI 中必须显式缓存
~/.composer/cache目录,并用PHP_VERSION或composer.lockhash 当 cache key,否则跨版本污染会导致依赖解析错误
最后提醒:vcs/ 目录里的 Git 克隆副本,绝大多数情况下不会被复用;手删前确认没有 composer install 进程在运行,否则可能留下损坏的锁文件或触发 Corrupted cache file 报错。










