composer install/update 卡在 downloading 通常是缓存损坏或镜像源残留所致;应先执行 composer clear-cache,再手动删除 ~/.composer/cache/files/,并配合 --no-cache 或切换镜像源重试。

Composer install 或 update 卡在 Downloading... 且超时
这是缓存损坏或镜像源残留导致的典型表现,不是网络本身问题。Composer 会优先从本地缓存读取包,若缓存中文件不完整(比如断点续传中断、校验失败),它不会自动跳过或重试,而是反复尝试解析/解压已损坏的 tarball,最终卡死或报 file could not be downloaded。
实操建议:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 先运行
composer clear-cache—— 这是必须的第一步,它清空$COMPOSER_HOME/cache下所有 vendor 包、dist zip/tar、metadata JSON - 确认缓存路径:执行
composer config --global cache-dir查看实际位置,避免误删其他目录 - 如果用的是国内镜像(如阿里云、腾讯云),清缓存后务必检查是否仍启用了失效的镜像配置:
composer config --global repo.packagist应返回{"type": "composer", "url": "https://mirrors.aliyun.com/composer/"}这类有效地址,而非已下线的旧地址
执行 composer clear-cache 后仍提示 Failed to decode zlib stream
这说明缓存里混入了被截断或编码错乱的压缩包,clear-cache 虽清除了索引,但某些场景下(如非正常退出的 install)可能遗留未注册的临时文件。此时需手动清理 + 强制跳过缓存验证。
实操建议:
- 进入缓存根目录(例如
~/.composer/cache),删除整个files/子目录:rm -rf files/—— 这里存的是所有下载的 dist 包原始压缩文件 - 加
--no-cache参数重试安装:composer install --no-cache,强制绕过缓存,直接从远程拉取新包 - 若仍失败,临时切换回官方源测试:
composer config --global repo.packagist composer https://packagist.org,排除镜像服务端异常
CI/CD 流水线中 Composer 缓存引发构建不一致
GitHub Actions、GitLab CI 等环境常复用缓存目录,但不同 PHP 版本或 Composer 版本对缓存格式兼容性不同(例如 Composer 2.5+ 的缓存结构与 2.2 不完全互通),导致依赖解析结果错乱、autoload 生成异常甚至 silently skip 某些 require-dev 包。
实操建议:
- 在 CI 配置中显式声明缓存 key 包含
composer --version和php --version输出,例如:cache-key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}-${{ steps.composer-version.outputs.version }}-${{ steps.php-version.outputs.version }} - 避免跨 job 共享同一缓存目录;若必须共享,请在每次 job 开头加
composer clear-cache并设COMPOSER_CACHE_DIR为唯一路径 - 生产部署前加校验步骤:
composer show --locked | head -n 5确认 lock 文件内容与预期一致,防止缓存污染导致“本地能跑,线上挂掉”
真正麻烦的不是缓存太大,而是缓存里藏着无法被 clear-cache 自动识别的残缺文件——尤其当 composer update 在解压中途被 kill 或磁盘满时,那些半成品会安静躺在 files/ 里,下次 build 就默默拖垮整个流程。










