直接运行composer clear-cache仅清理部分缓存,真正占空间、耗inode的是cache/vcs/和sys_get_temp_dir()中的composer_*.zip文件;需先用composer config --global cache-dir确认真实路径,再针对性清理vcs/、files/及临时目录,并禁用cache.vcs、迁移cache-dir至大分区以治本。

直接运行 composer clear-cache 只能清掉一部分缓存,真正占空间、耗 inode 的 cache/vcs/ 和临时目录里的 composer_*.zip 文件,默认完全不碰——不清这俩,磁盘和 inode 很可能还是满的。
怎么确认 Composer 正在用哪个缓存路径?
很多人删了 ~/.composer/cache 却没效果,是因为缓存路径早被环境变量或公司镜像改过了。必须查真实路径:
- 运行
composer config --global cache-dir,输出才是当前生效的路径 - 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 项目常占 300–800 MB),而clear-cache完全不碰它 -
cache/vcs/默认被跳过——单个 Git 裸仓库含完整.git,动辄 300–800 MB,还生成上万小文件,是No space left on device的高频元凶 -
sys_get_temp_dir()下堆积的composer_*.zip、php*.phar文件没被清理,这个路径 Windows 是%TEMP%,Linux/macOS 是/tmp
手动清理三处最占空间的位置
先停掉所有 composer 进程(ps aux | grep composer 或 tasklist | findstr composer),否则删一半会报 Corrupted cache file:
-
cache/vcs/:安全全清,下次需要自动重建
Linux/macOS:rm -rf $(composer config --global cache-dir)/vcs
Windows:rd /s /q "%APPDATA%\Composer\Cache\vcs" -
cache/files/(ZIP 包):可按时间删旧包
Linux/macOS:find $(composer config --global cache-dir)/files -type d -mtime +90 -delete - 临时目录:
php -r "echo sys_get_temp_dir();"查路径,再删匹配文件
Linux/macOS:find $(php -r "echo sys_get_temp_dir();") -name "composer_*" -mmin +60 -delete 2>/dev/null
长期避免反复爆满的关键动作
反复清理只是擦边球,治本靠配置:
- 禁用 Git 缓存:
composer config --global cache.vcs false,后续所有包强制走--prefer-dist - 换缓存路径到大分区:
composer config --global cache-dir "/mnt/data/composer-cache"(Linux/macOS)或D:\composer-cache(Windows) - 设缓存上限(Composer 2.5+):
composer config --global cache-max-size "500M" - 别忽略
df -i(Linux/macOS)或Get-PSDrive(Windows)——90% 的 “磁盘满” 实为 inode 耗尽,而vcs/和/tmp就是罪魁










