Composer缓存目录本身不决定装什么包,但files/和vcs/子目录会大量占用磁盘空间及inodes;files/存ZIP归档,vcs/存Git裸仓库(300–800MB/个),clear-cache默认清files/但跳过vcs/;精准清理需手动删旧包或禁用cache.vcs;系统临时目录(如/tmp或AppData\Local\Temp)更易导致“No space left on device”,须一并检查。

Composer 镜像缓存目录本身不决定装什么包,但它的结构和残留内容会真实吃掉几 GB 磁盘空间,甚至耗尽 inodes 导致“No space left on device”——清它前必须看清楚里面到底有什么。
cache/files/ 是最该盯的 ZIP 堆积区
这个目录存的是所有下载过的 .zip 和 .tar.gz 包归档,文件名格式通常是 vendor-name/version-hash.zip。一个 Laravel UI 或 Symfony 组件的 dist 包就可能超 80 MB,长期不用的老项目包全堆在这儿,很容易占满 1–3 GB。
- 运行
composer clear-cache会清空它,但如果你只想删旧包,得手动进~/.composer/cache/files/(Linux/macOS)或%APPDATA%\Composer\Cache\files\(Windows),按文件修改时间 + 版本号筛选 - 别直接删整个
files/子目录——有些包可能被多个项目共用,删错会导致下次composer install重复下载 - 真正“精准”的做法是:打开当前项目的
composer.lock,搜"name": "monolog/monolog",记下"version"字段值,再在files/里找对应 hash 的 zip;只删那些没出现在任何composer.lock中的文件
vcs/ 目录才是 inode 杀手,但 clear-cache 默认跳过它
~/.composer/cache/vcs/ 存的是 Git 裸仓库(含完整 .git),每个包克隆一次就是 300–800 MB、成千上万个文件。Composer 默认不把它纳入 clear-cache 范围,所以你清完缓存,df -i 的 inodes Use% 还是 99%。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 安全清理方式:
rm -rf ~/.composer/cache/vcs/*(Linux/macOS)或手动删除%APPDATA%\Composer\Cache\vcs\下全部内容(Windows) - 更省事的长期方案:
composer config --global cache.vcs false,之后所有 Git 包强制走--prefer-dist,彻底避开裸仓库 - 注意:禁用后首次
composer update会慢一点,因为要重下所有 dist 包,但后续稳定性更高,且不再偷偷吃 inodes
repo/ 和 archives/ 清理效果有限,但影响首次安装速度
repo/ 存的是 packages.json 快照(比如 https---packagist.org/packages.json),archives/ 是解压过程中的临时归档。它们单个体积不大,但数量多,尤其在国内镜像源频繁变更时容易残留无效快照。
-
composer clear-cache会清掉这两个目录,但清完后第一次composer install会明显变慢——因为要重新 HTTP 请求镜像源拉元数据 - 如果你刚切了阿里云镜像(
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/),建议顺手清一次repo/,避免旧快照干扰 - 不推荐手动删
repo/下的个别文件:Composer 用哈希校验路径,删错一个可能导致整个镜像索引失效,后续报Could not parse packages.json
别忘了系统临时目录才是隐藏磁盘杀手
Composer 大量使用 PHP 的 sys_get_temp_dir(),在 Windows 上是 C:\Users\用户名\AppData\Local\Temp,Linux/macOS 是 /tmp 或 $TMPDIR。这里会堆积大量 composer_*.zip、php*.phar,而且从不自动清理。
- 检查方法:Windows 直接进 Temp 目录看有没有几百个
composer_*.zip;Linux/macOS 运行ls -l /tmp | grep composer | wc -l - 清理命令:
find /tmp -name "composer_*" -type f -mtime +7 -delete(Linux/macOS),或 Windows 手动选中删除 - 关键点:这个目录比 Composer 自己的缓存更容易触发 “No space left on device”,尤其当
df -i显示 inodes 耗尽但df -h还有空间时,八成是它在作怪
真正麻烦的不是缓存目录本身,而是它混在系统临时目录、IDE 缓存、Docker 镜像这些地方一起膨胀。每次清理前先跑 composer config --global cache-dir 和 php -r "echo sys_get_temp_dir();",确认两个路径都在哪、各自占多少——否则删半天,可能只动了 200 MB 的缓存,却漏掉了 4 GB 的 /tmp。

















