插件安装失败后缓存ZIP损坏需手动精准清理:先定位报错中的包名,删除cache/files/下对应ZIP;再同步清除~/.composer/composer.lock和vendor/;重装时加--no-cache--force-checksums;vcs/可整删,repo/不可删。

插件安装失败后缓存 ZIP 损坏,composer clear-cache 不解决问题
直接跑 composer clear-cache 通常无效——它会删掉整个 cache/files/,但 Composer 在后续安装时仍可能复用已损坏的缓存副本(比如从 cache/vcs/ 或临时解压路径里读取旧数据),或者因 composer.lock 中硬编码的 dist.sha256 与当前缓存不匹配而卡在 “Failed to extract”。
定位并手动删除损坏的插件 ZIP 文件
插件安装失败(如 hirak/prestissimo、phpstan/extension-installer)后,真正出问题的往往是某个具体 ZIP 包被写坏。关键不是清全部,而是找对那个文件:
- 盯住
composer global require xxx报错末尾,找类似Extracting hirak/prestissimo (0.3.10)或Downloading phpstan/extension-installer的行 - 查缓存位置:
composer config --global cache-dir(Linux/macOS 通常是~/.composer/cache,Windows 是%APPDATA%\Composer\Cache) - 进
files/子目录,按包名模糊搜索:ls -l *prestissimo*.zip或Get-ChildItem "$env:APPDATA\Composer\Cache\Files" -Filter "*extension-installer*.zip" - 只删匹配的 ZIP,别碰
vcs/和repo/—— 它们不参与插件解压流程
composer.lock 和全局 vendor 必须同步清理
插件是全局安装的,但它的元数据和校验值锁在 ~/.composer/composer.lock(不是项目级 lock),且实际代码放在 ~/.composer/vendor/。漏掉任一环都会导致重装失败:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 先备份:
cp ~/.composer/composer.lock ~/.composer/composer.lock.bak - 删干净:
rm -rf ~/.composer/vendor/ ~/.composer/composer.lock(Windows:用rd /s /q "%APPDATA%\Composer\Vendor"+del "%APPDATA%\Composer\composer.lock") - 重装时加强制校验:
composer global require hirak/prestissimo --no-cache --force-checksums -
--no-cache跳过本地 ZIP 复用,--force-checksums让校验失败立刻退出,不污染vendor/
插件类缓存还藏在 ~/.composer/cache/vcs/ 里
某些插件(尤其是通过 Git URL 安装的 dev 版本)会在 vcs/ 下保留裸仓库,即使 ZIP 清了,Composer 仍可能尝试从那里拉取旧提交,导致“看似重装却仍是旧版”。这个目录可以安全整删:
- Linux/macOS:
rm -rf ~/.composer/cache/vcs/* - Windows:
rd /s /q "%APPDATA%\Composer\Cache\vcs" - 删完不影响功能——下次需要时自动重建,且不耗时(比
repo/安全得多) - 注意:别删
~/.composer/cache/repo/packagist.org/,那是索引快照,删了首次global update会明显变慢
插件缓存的问题核心不在“多”,而在“坏”——一个损坏的 ZIP 或一条错位的 dist.sha256 就能让后续所有操作静默失败。手动定位+精准删除+同步清理 lock 和 vendor,比反复 clear-cache 更快也更可靠。

















