必须同步清理三处:先 composer clear-cache,再删 ~/.composer/cache/repo/https---packagist.org/、vendor/composer/installed.json 和 composer.lock;否则 update 仍复用旧元数据与版本锁定。

清理 Composer 缓存解决包更新不及时,核心不是删全量缓存,而是清掉元数据快照和本地锁文件——否则 composer update 仍会复用旧的 packages.json 和已安装版本记录。
为什么 composer clear-cache 经常没用?
它只清 ~/.composer/cache/files/(ZIP 包)和 vcs/(Git 克隆),但不碰真正卡住更新的三处:
-
~/.composer/cache/repo/https---packagist.org/:存着过期的packages.json和provider-*.json,Composer 读这个决定“有哪些新版本” -
vendor/composer/installed.json:记录当前已装包的精确版本,composer show和依赖解析都依赖它 -
composer.lock:硬编码了每个包的版本、dist.sha256 和 source.reference,不删它,update就不会拉新版本
必须同步清理的三个位置
顺序不能错,否则可能白操作:
- 先运行
composer clear-cache(清基础缓存,避免干扰) - 再删元数据目录:
rm -rf $(composer config --global cache-dir)/repo/https---packagist.org/ - 删本地状态快照:
rm -f vendor/composer/installed.json - 删锁文件:
rm -f composer.lock
Windows 用户注意:$(composer config --global cache-dir) 在 PowerShell 中需写成 $(composer config --global cache-dir).Trim() 或直接用 $env:APPDATA\Composer\Cache\repo\https---packagist.org\。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
验证是否真刷新了 metadata
别信“执行完就 OK”,要亲眼看到 Composer 重新拉远端索引:
- 运行
composer update --dry-run -v - 盯紧输出里有没有
Downloading https://packagist.org/packages.json - 如果只有
Reading /path/to/cache/.../packages.json,说明元数据没清干净,重走上一步
额外提醒:如果你项目里设了 "minimum-stability": "stable",而目标包只发布了 dev 或 beta 版本,那即使 metadata 刷新了也看不到——这不是缓存问题,是约束本身在过滤。
最易被忽略的是 composer.lock。很多人删了缓存、删了 installed.json,却留着它,结果 update 依然原地不动——因为 Composer 认为“锁文件没变,就不需要动版本”。










