composer clear-cache 只清除 ~/.composer/cache 或 %appdata%\composer\cache 下的 files/、repo/、vcs/ 三类缓存,不影响 vendor/、composer.lock 和 composer.json。

composer clear-cache 到底清什么
它只删 ~/.composer/cache(Linux/macOS)或 %APPDATA%\Composer\cache(Windows)下的全部内容,包括:files/(已下载的 .zip/.tar 包)、repo/(Packagist 元数据快照)、vcs/(Git 仓库克隆缓存)。不碰项目里的 vendor/、composer.lock、composer.json,也不重装任何依赖。
常见误解:composer clear-cache 后 composer install 并不会“重新拉所有包”——只要 composer.lock 没变,它仍会复用已解压过的缓存副本(如果还存在),只是压缩包本身被删了,下次需要时才会重新下载。
遇到 Failed to extract 或 corrupted archive 错误时该怎么做
这类错误基本就是缓存里某个 .zip 文件写了一半就中断了,解压时直接失败。别急着删 vendor 或改 lock 文件,先确认是不是缓存问题:
- 运行
composer clear-cache,看是否立刻解决 - 若仍报错,加
--no-cache临时跳过缓存:composer install --no-cache;成功则 100% 是缓存损坏 - 反复出错但只针对某一个包(比如
monolog/monolog),可进缓存目录手动删对应子文件夹:rm -rf ~/.composer/cache/files/monolog/monolog
换镜像源后还是从旧地址拉包?清缓存才生效
Composer 把远程源的响应结果(比如包列表、版本映射)也缓存在 repo/ 里。哪怕你用 composer config -g repo.packagist https://mirrors.aliyun.com/composer/ 改了配置,旧缓存里的元数据还在,它可能继续按老规则找包,甚至返回 404。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
此时必须 composer clear-cache,否则新镜像配置等于没生效。尤其在从官方源切到阿里云/腾讯云后出现 “Could not find package” 却确认拼写无误时,大概率是这个原因。
缓存清理不是万能解药,这些情况它不负责
composer clear-cache 解决不了以下问题:
-
Could not find package xxx:90% 是拼写错误、私有源未配置或minimum-stability不匹配,跟缓存无关 - PHP 内存不足报错(
Allowed memory size exhausted):得调COMPOSER_MEMORY_LIMIT或 PHP 配置 - Git 克隆失败(
Failed to clone ...):检查网络、SSH key 或disable_functions是否禁了proc_open - 装完包却加载旧版本:先看
composer show vendor/package确认实际安装版本,再查composer.lock里锁的是哪个 commit 或 tag
真正要彻底重建依赖,删 vendor/ 和 composer.lock 再 composer install 才是有效动作;清缓存只是帮你甩掉坏文件和过期元数据,别高估它的作用范围。










