composer clear-cache本身几乎不释放磁盘空间,除非缓存目录超1.5GB;多数人无变化是因为真正占空间的是vendor/或vcs/目录,而该命令默认不清理这两处,需先用composer config --global cache-dir确认路径并检查大小再操作。

composer clear-cache 本身几乎不释放磁盘空间,除非你确认缓存目录已膨胀到 1.5 GB 以上——多数人执行后没变化,是因为真正占空间的是 vcs/ 目录或项目 vendor/,而它默认不碰这两处。
先确认缓存路径和真实大小再动手
别凭印象删 ~/.composer/cache 或 %APPDATA%\Composer\Cache。路径可能被 COMPOSER_CACHE_DIR、公司镜像或 COMPOSER_HOME 改过。
- 查真实路径:
composer config --global cache-dir - Linux/macOS 看总大小:
du -sh $(composer config --global cache-dir) - Windows 用户直接在资源管理器地址栏粘贴
%APPDATA%\Composer\Cache,右键 → “属性” - 若结果是
4.0K或提示No cache files to delete,说明缓存几乎为空,清也白清
为什么 clear-cache 后磁盘空间几乎没变
根本原因不是命令失效,而是你删错了“大户”:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
-
vendor/目录完全不受影响——一个中等 Laravel 项目就占 300–800 MB,composer clear-cache一动不动 -
vcs/目录默认被跳过:里面是 Git 裸仓库(含完整.git),单个包克隆常达 300–800 MB,且长期滞留、几乎不复用 - 若
df -i显示 inode 使用率接近 100%,报No space left on device很可能是vcs/里上万个小文件撑爆了 inode,不是磁盘块用光
手动清理 vcs/ 和 files/ 才真能腾出几百 MB 到 1.5 GB
composer clear-cache 是安全的全量操作,但多数场景下手动更精准、更可控:
- 安全清
vcs/:rm -rf $(composer config --global cache-dir)/vcs/*(Windows 对应%APPDATA%\Composer\Cache\vcs\)——下次需要会自动重建 - 只删旧 ZIP 包(保留元数据):
find $(composer config --global cache-dir)/files -name "*.zip" -mtime +90 -delete - 别动
repo/packagist.org/:这是核心元数据快照,删了首次update会明显变慢 - 手删前确保没有
composer install或update进程在后台跑,否则可能触发Corrupted cache file报错
权限、锁文件、CI/CD 场景下的典型卡顿与报错
执行 composer clear-cache 卡住或报错,常见于以下情况:
- 命令长时间无输出、CPU 占用低 → 很可能是某个损坏的
.zip文件 CRC 校验失败,Composer 在反复重试 - 报
file_put_contents(...): failed to open stream→ 权限问题或磁盘已满 - 报
Could not delete .../packages.json→ 文件被 IDE(如 PHPStorm)或杀毒软件占用 - CI/CD 中用 root 跑过
composer,后续非 root 用户执行会因权限拒绝删除 - 解决办法:加
--no-interaction跳过交互;Linux/macOS 可用lsof +D $(composer config --global cache-dir)查占用进程
真正容易被忽略的是:缓存清理只是“止血”,不是“根治”。vcs/ 不清、vendor/ 不定期归档、IDE 缓存和 Docker 镜像不清理,磁盘告警很快会回来。

















