PhpStorm 不存 Composer 镜像缓存,需清理 Composer 全局缓存目录(~/.composer/cache 或 %APPDATA%\Composer\Cache);清前必用 composer config --global cache-dir 确认路径,并优先手动清理占空间大户 vcs/ 目录。

PhpStorm 本身不存 Composer 镜像缓存,真正要清的是 Composer 自己的 cache 目录
PhpStorm 不托管、不复制、也不二次缓存 Composer 下载的包或镜像元数据。它只是调用系统里那个 composer 可执行文件——所以所谓“清理 PhpStorm 中的 Composer 缓存”,本质就是清理 Composer 的全局缓存目录(~/.composer/cache 或 %APPDATA%\Composer\Cache),和 PhpStorm 无关。
常见误操作是点 PhpStorm 的 Invalidate and Restart,但这只重建 IDE 内部索引,对 files/ 里的 .zip、repo/ 里的 packages.json、vcs/ 里的 Git 裸仓库完全没影响。
- 镜像源配置(如阿里云)写在
~/.composer/config.json里,PhpStorm 不读也不改这个文件 - PhpStorm 的 Settings → PHP → Composer 页只负责指定用哪个
composer命令,不参与缓存管理 - 你改了镜像源后装包仍慢?不是 PhpStorm 没生效,而是 Composer 缓存里还存着旧源的元数据,必须清掉
清缓存前必须确认 Composer 实际缓存路径
别默认去删 ~/.composer/cache——这个路径可能早已被覆盖。公司镜像、CI 环境、WSL 子系统都可能通过 COMPOSER_CACHE_DIR 环境变量或 composer config --global cache-dir 改写真实位置。
唯一可靠方式是运行:
立即学习“PHP免费学习笔记(深入)”;
composer config --global cache-dir
输出结果才是你要操作的根目录。再查大小:
- Linux/macOS:
du -sh $(composer config --global cache-dir) - Windows:把输出路径粘贴进资源管理器地址栏,右键 → 属性
不到 200 MB?基本不用动;超过 1.5 GB 且半年没碰老项目,才值得清理。
为什么 composer clear-cache 有时不释放空间?重点在 vcs/
composer clear-cache 默认清 files/ 和 repo/,但跳过最占空间的 vcs/ 目录——它存的是完整 Git 裸仓库(含 .git),单个 Laravel 包的 vcs 缓存就能达 500 MB。
真正想释放磁盘空间,得手动删:
- Linux/macOS:
rm -rf $(composer config --global cache-dir)/vcs/* - Windows:
rd /s /q "%APPDATA%\Composer\Cache\vcs"(先确认cache-dir输出是否匹配)
注意:vcs/ 清完不影响功能,下次需要时自动重建;但 files/ 和 repo/ 清完后首次 composer install 会变慢,这是正常设计,不是故障。
CI/CD 或无交互环境里清缓存必须加参数
GitHub Actions、GitLab CI 等环境没有 TTY,composer clear-cache 默认卡在交互确认上,直接 hang 住。
务必用这两个参数组合:
-
--no-interaction:跳过所有提示 -
--dry-run:先预检路径是否正确(尤其防 NFS 挂载点被误清)
推荐写法:
composer clear-cache --no-interaction --dry-run && composer clear-cache --no-interaction
如果仍卡住,说明有进程锁着缓存目录:lsof +D $(composer config --global cache-dir)(macOS/Linux)或用 handle.exe(Windows)查占用。
真正容易被忽略的是:清完缓存后,composer install 变慢 ≠ 配置失败,而是它正在重新下载和校验——这时候看终端输出有没有 mirrors.aliyun.com 才是关键,不是看速度。


















