直接运行 composer clear-cache 即可安全清除本地缓存,它仅清理 ~/.composer/cache(linux/macos)或 %appdata%\composer\cache(windows)下的 repo/、files/、vcs/ 等子目录,不触碰 vendor/、composer.lock 或项目文件;执行前须用 composer config --global cache-dir 确认路径,并通过 du -sh(linux/macos)或资源管理器属性(windows)核查大小,超1.5gb且长期未用才建议清理。

直接运行 composer clear-cache 就能清掉所有本地缓存,但它只动 ~/.composer/cache(Linux/macOS)或 %APPDATA%\Composer\Cache(Windows)下的内容,不删 vendor/、composer.lock 或项目文件——这点必须先确认清楚,否则容易误以为“清了没用”其实是删错了地方。
怎么确认缓存路径和真实占用大小
别凭感觉删。先查 Composer 当前认的缓存目录在哪,再看它到底占了多少空间:
- 运行
composer config --global cache-dir,输出就是真实路径(Linux/macOS 通常是~/.composer/cache,Windows 是%APPDATA%\Composer\Cache) - Linux/macOS 下接着跑:
du -sh $(composer config --global cache-dir),一眼看出体积 - Windows 用户打开资源管理器,粘贴
%APPDATA%\Composer\Cache进地址栏,右键 → “属性” 看大小 - 不到 200MB,大概率不是磁盘告警主因;超过 1.5GB 且你半年没碰某些老项目,才值得动手
为什么 composer clear-cache 有时没反应或报错
常见现象是执行后提示 Cache directory does not exist,或者反复运行缓存大小不变。根本原因往往不是命令本身问题:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 权限错乱:比如之前用
sudo composer install写过缓存,现在普通用户运行clear-cache就会被拒绝删除 - 缓存路径被覆盖:设置了
COMPOSER_CACHE_DIR环境变量但未生效,clear-cache实际清的是空路径 - 文件被占用:杀毒软件或 IDE(如 PHPStorm)正在扫描
~/.composer/cache/files/下的 ZIP,系统锁住不让删 - CI/CD 中混用用户:Docker 构建时用 root 跑过 composer,后续非 root 用户执行
clear-cache就会失败
想只清某类缓存,而不是全量删
composer clear-cache 是全量操作,但你可以手动进目录精准清理:
- 只删下载过的原始包(节省最多空间):
rm -rf ~/.composer/cache/downloads/*或rm -rf ~/.composer/cache/files/* - 只清元数据(解决“装不到新版包”类问题):
rm -rf ~/.composer/cache/repo/* - 只清 Git 克隆缓存(影响 vcs 类仓库拉取):
rm -rf ~/.composer/cache/vcs/* - 手删前务必确认没有
composer install或update进程在后台跑,否则可能触发Corrupted cache file报错
清完之后装包变慢,是不是命令出错了
不是。这是设计行为,不是故障:
-
repo/清空 → 下次install得重新 HTTP 请求 packagist.org 或镜像源拉packages.json,首次明显卡顿 -
files/清空 → 所有.zip都得重下,尤其含大资产(如 Laravel UI、前端模板)的包更明显 - 某些团队把缓存挂到 NFS 或自建镜像目录,
clear-cache默认只清composer config --global cache-dir指向的那个路径,不会遍历所有可能位置










