推荐全局配置阿里云镜像源:composer config -g repo.packagist composer https://www.php.cn/link/1569ae888190eb8c53b218b0d529e1e9;项目级可覆盖为官方源;镜像失效时查同步状态,https或dns问题需通过diagnose排查。

全局配置国内镜像源(推荐)
Composer 默认走国外源,国内直连 packagist.org 常见超时、卡死或 404。直接换全局镜像最省事,也最稳定——前提是镜像站同步及时且未被墙。
- 运行命令:
composer config -g repo.packagist composer @#@#@#@#@#@#@#@#@#@0
- 阿里云、腾讯云、华为云镜像都可用,但阿里云同步频率高、节点多,出问题概率低
- 不要用
@#@#@#@#@#@#@#@#@#@1(已停用),也不建议用早期的 @#@#@#@#@#@#@#@#@#@2(2022 年起不再维护)
- 执行后会在
~/.composer/config.json 中写入配置,无需手动编辑
项目级覆盖全局设置(按需启用)
有些项目依赖私有包或内部 GitLab 仓库,不能全走镜像;或者测试阶段想对比源站行为,就得局部关掉镜像。
- 在项目根目录运行:
composer config repo.packagist composer @#@#@#@#@#@#@#@#@#@3
- 这会写入当前项目的
composer.json 的 config 字段,优先级高于全局配置
- 注意:如果项目中已有
repositories 数组自定义了其他源,repo.packagist 必须显式声明,否则 Composer 会跳过镜像逻辑
- 想临时禁用镜像?删掉这行配置即可,不用改全局
镜像失效时的典型错误和排查路径
不是所有“安装慢”都是网络问题,镜像本身可能滞后或异常。
- 错误现象:
[Composer\Downloader\TransportException] The "@#@#@#@#@#@#@#@#@#@4" file could not be downloaded (HTTP/2 404)
- 原因通常是镜像未同步新版本,尤其是 alpha/beta 版本或刚发布的 tag
- 先确认原始包是否存在:
curl -I @#@#@#@#@#@#@#@#@#@5
- 再查镜像是否落后:
curl -s @#@#@#@#@#@#@#@#@#@6 | jq '.packages | keys'(需装 jq)
- 短期解法:加
--prefer-source 绕过 p2 包索引,直连 Git;长期建议切回官方源或换镜像
HTTPS 证书或 DNS 导致的静默失败
有些企业网络或老旧系统会拦截 HTTPS 请求,或本地 DNS 缓存污染,导致 Composer 表现为“没反应”或随机超时。
- 运行
composer diagnose,重点看 Checking HTTP proxy 和 Checking HTTP timeout 是否 OK
- 如果提示
curl error 60,大概率是 CA 证书缺失,可临时加 -d openssl.cafile=/path/to/cacert.pem(不推荐长期用)
- 更稳妥做法:用
composer config -g cafile /etc/ssl/certs/ca-certificates.crt(Linux)或指向系统证书路径
- DNS 问题更隐蔽:试下
ping mirrors.aliyun.com 和 nslookup packagist.org 对比响应,若后者慢或失败,加 composer config -g secure-http false(仅调试用,勿提交)
composer config -g repo.packagist composer @#@#@#@#@#@#@#@#@#@0 @#@#@#@#@#@#@#@#@#@1(已停用),也不建议用早期的 @#@#@#@#@#@#@#@#@#@2(2022 年起不再维护) ~/.composer/config.json 中写入配置,无需手动编辑 - 在项目根目录运行:
composer config repo.packagist composer @#@#@#@#@#@#@#@#@#@3 - 这会写入当前项目的
composer.json的config字段,优先级高于全局配置 - 注意:如果项目中已有
repositories数组自定义了其他源,repo.packagist必须显式声明,否则 Composer 会跳过镜像逻辑 - 想临时禁用镜像?删掉这行配置即可,不用改全局
镜像失效时的典型错误和排查路径
不是所有“安装慢”都是网络问题,镜像本身可能滞后或异常。
- 错误现象:
[Composer\Downloader\TransportException] The "@#@#@#@#@#@#@#@#@#@4" file could not be downloaded (HTTP/2 404)
- 原因通常是镜像未同步新版本,尤其是 alpha/beta 版本或刚发布的 tag
- 先确认原始包是否存在:
curl -I @#@#@#@#@#@#@#@#@#@5
- 再查镜像是否落后:
curl -s @#@#@#@#@#@#@#@#@#@6 | jq '.packages | keys'(需装 jq)
- 短期解法:加
--prefer-source 绕过 p2 包索引,直连 Git;长期建议切回官方源或换镜像
HTTPS 证书或 DNS 导致的静默失败
有些企业网络或老旧系统会拦截 HTTPS 请求,或本地 DNS 缓存污染,导致 Composer 表现为“没反应”或随机超时。
- 运行
composer diagnose,重点看 Checking HTTP proxy 和 Checking HTTP timeout 是否 OK
- 如果提示
curl error 60,大概率是 CA 证书缺失,可临时加 -d openssl.cafile=/path/to/cacert.pem(不推荐长期用)
- 更稳妥做法:用
composer config -g cafile /etc/ssl/certs/ca-certificates.crt(Linux)或指向系统证书路径
- DNS 问题更隐蔽:试下
ping mirrors.aliyun.com 和 nslookup packagist.org 对比响应,若后者慢或失败,加 composer config -g secure-http false(仅调试用,勿提交)
[Composer\Downloader\TransportException] The "@#@#@#@#@#@#@#@#@#@4" file could not be downloaded (HTTP/2 404) curl -I @#@#@#@#@#@#@#@#@#@5 curl -s @#@#@#@#@#@#@#@#@#@6 | jq '.packages | keys'(需装 jq) --prefer-source 绕过 p2 包索引,直连 Git;长期建议切回官方源或换镜像 - 运行
composer diagnose,重点看Checking HTTP proxy和Checking HTTP timeout是否 OK - 如果提示
curl error 60,大概率是 CA 证书缺失,可临时加-d openssl.cafile=/path/to/cacert.pem(不推荐长期用) - 更稳妥做法:用
composer config -g cafile /etc/ssl/certs/ca-certificates.crt(Linux)或指向系统证书路径 - DNS 问题更隐蔽:试下
ping mirrors.aliyun.com和nslookup packagist.org对比响应,若后者慢或失败,加composer config -g secure-http false(仅调试用,勿提交)
Composer 镜像不是一配就灵,关键在「镜像时效性」和「本地环境干扰」这两块。很多人配完不验证,直到某天装不上一个新 minor 版本才回头折腾。
工作流任务拆解与模型编排技能。使用场景:(1) 收到复杂工作任务需要拆解为可执行步骤,(2) 需要为不同步骤选择最合适的模型,(3) 需要跟踪工作流进度和模型使用情况,(4) 长时间任务卡住需要问题诊断和解决方案。










