composer clear-cache 清完磁盘空间没变,是因为它默认不清理占空间最大、耗尽 inode 的 vcs/ 目录(单个 git 裸仓库达 300–800 mb)和系统临时目录(如 sys_get_temp_dir() 下的 composer_*.zip),而这两处才是磁盘与 inode 告警的主因;若缓存目录本身不足 200 mb,问题往往出在 vendor/。

composer clear-cache 为什么清完磁盘空间没变?
因为 composer clear-cache 默认不清理 vcs/ 目录和系统临时目录,而这俩才是真占空间、耗 inode 的元凶。一个 Git 裸仓库(比如 Laravel 主仓库)在 cache/vcs/ 下能吃掉 300–800 MB,还生成上万小文件;sys_get_temp_dir() 下堆积的 composer_*.zip 文件也完全被忽略。
- 先确认真实缓存路径:
composer config --global cache-dir - 查大小(Linux/macOS):
du -sh $(composer config --global cache-dir) - 查临时目录:
php -r "echo sys_get_temp_dir();" - 若缓存目录本身不到 200 MB,问题大概率出在
vendor/,不是缓存
如何安全彻底清理三处关键缓存?
停掉所有 composer 进程后,按顺序清理:
-
vcs/:Linux/macOS 执行rm -rf $(composer config --global cache-dir)/vcs;Windows 执行rd /s /q "%APPDATA%\Composer\Cache\vcs" -
files/中的老 ZIP 包:用find $(composer config --global cache-dir)/files -name "*.zip" -mtime +90 -delete(Linux/macOS) - 临时目录中的残留:
find $(php -r "echo sys_get_temp_dir();") -name "composer_*" -mmin +60 -delete 2>/dev/null
注意:手动删前务必确认没其他 composer 进程在运行,否则可能触发 Corrupted cache file 报错。
依赖环境卡死或文件损坏时怎么重装?
仅清缓存或仅删 vendor/ 都不够。真正重来要切断全部缓存路径:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 删掉
vendor/:rm -rf vendor(Linux/macOS)或rmdir /s vendor(Windows) - 清全局缓存:
composer clear-cache - 强制全新安装:
composer install --no-cache --prefer-dist --optimize-autoloader --no-dev
其中 --no-cache 是关键——它禁用本次所有缓存查找,确保每个包都重新下载;--prefer-dist 避免 git clone 开销;--no-dev 跳过开发依赖,大幅缩短解析时间。
长期避免反复爆满的关键配置
反复清理只是擦边球,治本靠配置:
- 禁用 Git 缓存:
composer config --global cache.vcs false,后续所有包强制走--prefer-dist - 迁移缓存路径到大分区:
composer config --global cache-dir "/mnt/data/composer" - 设缓存上限(Composer 2.5+):
composer config --global cache-max-size "500M"
最易被忽略的是 cache.vcs 默认开启且不被 clear-cache 触及——它既不省空间,又几乎不复用,关掉最直接有效。










