composer require 卡住主因是 packagist.org fallback 行为、旧 composer.lock 绑定默认源及 suggest/progress 开销;需全局配置阿里云镜像、禁用 repos.packagist、清理 lock 文件并添加 --no-suggest --no-progress 参数。

Composer require 新包卡在 Updating dependencies 或 Resolving packages 阶段,大概率不是网络超时,而是默认走 packagist.org 的元数据解析太慢——阿里云镜像能显著缩短这一步,但光换镜像源还不够,得关掉某些默认行为。
为什么换镜像后还是卡住?关键在 packagist.org 的 fallback 行为
Composer 2.2+ 默认启用 packagist.org 作为兜底源(fallback),即使你配置了阿里云镜像,它仍会悄悄尝试连接官方源做校验或补全,尤其在包名模糊、版本约束宽松、或遇到私有包时。这种“双源并行探查”反而拖慢整体速度。
实操建议:
- 运行
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/(全局配置) - 紧接着执行
composer config -g repos.packagist false,彻底禁用 fallback —— 注意是repos.packagist(复数),不是repo.packagist - 检查是否生效:运行
composer config -g repos,输出里不应再出现packagist条目
composer require 卡在 Resolving packages?试试加 --no-suggest 和 --no-progress
这个阶段 Composer 在本地构建依赖图并预判冲突,而 --suggest(推荐包)和进度条动画本身会触发额外的 I/O 和 UI 渲染,尤其在 CI 环境或低配机器上明显拖慢响应。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
实操建议:
- 日常开发可直接用:
composer require vendor/package --no-suggest --no-progress - CI 脚本中务必加上
--no-interaction,避免因提示中断流程 - 如果包本身带大量
suggest(如 Laravel 生态),省略它们能减少约 1–3 秒解析时间
镜像配置生效但 install 仍慢?检查 composer.lock 是否绑定了旧源
已有项目执行 composer require 时,Composer 优先读取 composer.lock 中记录的 dist URLs 和 source URLs。若 lock 文件是之前用默认源生成的,即使镜像已配好,它仍可能从 github.com 或 packagist.org 拉 zip 包。
实操建议:
- 先删掉
composer.lock和vendor/(仅限测试环境),再跑composer install - 或者强制刷新 lock 文件:
composer update --lock,它会基于当前镜像源重写所有 dist URL - 验证方式:打开
composer.lock搜索"url",确认所有dist.url域名是mirrors.aliyun.com或对应 CDN 地址
真正影响速度的从来不是下载本身,而是元数据解析和依赖图构建。阿里云镜像只是第一步,关掉 fallback、清理 lock 文件、跳过非必要交互,三者缺一不可。很多人配完镜像就以为结束了,结果 require 还是卡在第二秒——问题往往出在 lock 文件没更新,或者 repos.packagist 没设成 false。










