卡在“Resolving dependencies”主因是镜像未正确配置或PHP环境不兼容:必须全局配置repo.packagist镜像、清缓存、删vendor与lock文件重试,并确认PHP版本(7.2–8.1选^7.5)、启用curl扩展及正确引入autoload.php。

为什么装 guzzlehttp/guzzle 总卡在 “Resolving dependencies” 或超时?
不是命令写错了,大概率是 Composer 默认走 packagist.org,国内直连慢、丢包、偶发 502/404,尤其在拉取 guzzlehttp/psr7、ralouphie/getallheaders 这类二级依赖时更明显。镜像不配,composer require guzzlehttp/guzzle 就像在拨一个半天接不通的电话。
换阿里云镜像的三步实操(别只配一半)
只执行 composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ 不够——这是常见漏项:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 必须加
-g(全局),否则只对当前项目生效,换目录就失效 - 字段名必须是
repo.packagist,写成repos.packagist或repository.packagist会静默失败 - 配完立刻清缓存:
composer clear-cache,否则旧索引还在,照样卡住 - 如果之前安装失败过,删掉
vendor/和composer.lock再重来,避免残留冲突
装 guzzlehttp/guzzle 时 PHP 版本和扩展不能漏查
镜像再快,PHP 不达标或缺扩展,照样报错:
- 运行
php -v确认版本:PHP 7.2–8.1 推荐guzzlehttp/guzzle:^7.5;PHP 8.0+ 可选^8.0,但要避开^7.0(PHP 8.1 下会触发Typed property must not be accessed before initialization) - 运行
php -m | grep curl,没输出就说明curl扩展没启用——Ubuntu/Debian 执行sudo apt install php-curl,CentOS 执行yum install php-curl,然后重启 PHP-FPM 或 CLI 环境 - 装完后测试类加载:
php -r "new \GuzzleHttp\Client(); echo 'OK';",报Class 'GuzzleHttp\Client' not found就是vendor/autoload.php没引入,不是镜像问题
私有包和 Guzzle 同时用,镜像配置别混在一起
如果你还用了公司内网的微信支付 SDK(比如 acme/wechatpay-sdk),别把私有源 URL 和阿里云镜像写成同一个地址:
-
repositories数组里,私有源必须单独声明,类型为composer,URL 是你内网 Satis/Nexus 的地址 - 顺序很重要:把私有源放
repositories数组末尾,避免它意外覆盖guzzlehttp/guzzle这类开源包 -
composer outdated --all查不到私有包更新?正常——它只查 Packagist,私有包版本得靠你手动维护packages.json或跑 Satis build

















