先运行composer config --global cache-dir确认真实路径,再用du -sh(linux/macos)或资源管理器属性(windows)查看占用,不足200mb无需处理,超1.5gb且半年未用才需清理;vcs/目录默认不被clear-cache清除,单个裸仓库占300–800mb,须手动删除或禁用cache.vcs。

确认当前缓存路径和实际占用大小
别凭经验删目录,先看 Composer 真正在用哪条路。运行 composer config --global cache-dir,输出的就是它当前认的缓存根目录(Linux/macOS 通常是 ~/.composer/cache,Windows 是 %APPDATA%\Composer\Cache)。很多人清完没变化,就是因为环境变量 COMPOSER_CACHE_DIR 被覆盖过,但自己没意识到。
查完路径,立刻看真实体积:
- Linux/macOS:
du -sh $(composer config --global cache-dir) - Windows:资源管理器地址栏粘贴
%APPDATA%\Composer\Cache→ 右键“属性”
不到 200 MB 基本不用动;超过 1.5 GB 且半年没碰老项目,才值得继续往下走。注意:vcs/ 目录默认不被 clear-cache 清理,但它单个裸仓库就能占 300–800 MB,是磁盘和 inode 的主要消耗源。
彻底清空缓存并禁用 vcs 缓存
composer clear-cache 安全但不够狠——它跳过 vcs/,而那里才是空间黑洞。必须手动补刀:
- Linux/macOS:
rm -rf ~/.composer/cache/vcs/ - Windows:
rd /s /q "%APPDATA%\Composer\Cache\vcs"
更一劳永逸的做法是永久禁用 Git 克隆缓存:composer config --global cache.vcs false。之后所有 Git 包都强制走 --prefer-dist,下载 ZIP 包,不再生成本地裸仓库。CI/CD 或小磁盘机器尤其推荐这步。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
如果手动删失败,大概率是杀毒软件或 IDE(如 PHPStorm)锁住了文件。关掉实时扫描再试;或者用 lsof +D $(composer config --global cache-dir)(Linux/macOS)或 handle.exe -p php.exe(Windows)查谁在占用。
迁移缓存到大分区或设大小上限
如果 /home 或 C:\ 经常告警,别反复清理,直接换地方:
- 迁移到大分区:
composer config --global cache-dir /data/composer-cache(Linux/macOS)或composer config --global cache-dir D:\Composer\Cache(Windows) - 限制缓存体积(Composer 2.5+):
composer config --global cache-max-size "500M"
迁移后记得手动创建新目录并赋权:mkdir -p /data/composer-cache && chown $USER:$USER /data/composer-cache。否则后续 clear-cache 会静默失败——命令返回成功,其实什么都没删。
重设前必须检查的三个权限与状态点
执行任何清理或迁移操作前,这三个点不确认,90% 的问题会复现:
-
ls -ld $(composer config --global cache-dir)确认属主是当前用户,不是root;之前用sudo composer install写过的缓存,普通用户clear-cache会无提示跳过 - 没有后台
composer进程在跑,尤其是 CI 环境中未退出的update或install任务 - 删
vcs/前确保没人在用git协议安装私有包——禁用cache.vcs后,首次安装会变慢,但更可控
最常被忽略的是权限归属。很多 “No space left on device” 或 “corrupted archive” 报错,根源只是缓存目录属主不对,clear-cache 根本没删进去,却误以为操作已完成。










