不能直接重试composer install,因Composer无断点续传,中断后残留破损ZIP、截断installed.json或卡死临时目录会持续干扰;须先--dry-run判断:若大量Skipped可重试,否则需删vendor/autoload.php和vendor/composer/后dump-autoload再install。

不能直接重试 composer install,必须先用 --dry-run 判断是否可续装。
为什么不能硬重试?
Composer 没有断点续传机制。中断后残留的破损 ZIP、截断的 installed.json 或卡死的临时目录会持续干扰后续执行——哪怕只差最后一个包,重试大概率仍报 Failed to extract vendor/package-name: unable to open archive 或 Invalid argument supplied for foreach()。
盲目删整个 vendor/ 也不行:它会触发 autoload 错误,且 Composer 无法识别已安装包,导致全部重下。
怎么判断能否安全续装?
运行 composer install --dry-run:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 如果输出里大量出现
Skipped(例如Skipped installing monolog/monolog (3.6.0)),说明vendor/中已有完整包结构,可直接重试composer install - 如果只显示
Installing、Downloading,或报错含foreach、extract、archive等关键词,说明元数据已损坏,不能硬重试
确认需清理时,只删这两处
不是删整个 vendor/,而是精准清理关键残留:
- 删掉
vendor/autoload.php - 删掉
vendor/composer/目录(保留其他子目录) - 运行
composer dump-autoload重建自动加载映射 - 再执行
composer install——此时 Composer 能识别已安装包,只补全缺失部分
若仍失败,再加 composer clear-cache,尤其当错误含 cache 或 corrupted 字样时。
--retries 参数基本没用
它只在 Composer 2.2+ 生效,且仅对 dist 包(ZIP/TAR)下载起作用,对 git clone 完全无效:
-
--retries=5不延长单次请求等待时间,只是“最多试 5 轮”,每轮仍默认超时 60 秒 - 遇到 SSL 错误、权限问题或元数据损坏,
--retries完全不生效
真正卡住的地方,从来不是“多试几次”,而是残留状态没清干净,或者镜像配置本身已失效。

















