直接换镜像源+清缓存可解决80%下载失败,但需确保配置正确生效:用repositories.packagist.org而非旧写法,url须以/结尾,检查是否被项目级配置覆盖,并验证diagnose输出;阿里云镜像已停用,推荐清华或腾讯源;curl error 60需配cafile而非禁用tls;缓存损坏时应clear-cache并重装vendor与lock;ci/面板环境需显式设置镜像。

Failed to download 报错,但必须确认配置写对、生效且没被覆盖。
镜像源配置写错就等于没配
很多人执行了 composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ 就以为搞定了,结果还是走官方源。关键点有三个:
-
repo.packagist是旧写法,Composer 2.2+ 推荐用repositories.packagist.org;写成repos.packagist(多一个 s)或mirror都无效 - URL 必须以
/结尾:https://mirrors.tuna.tsinghua.edu.cn/composer/✅,https://mirrors.tuna.tsinghua.edu.cn/composer❌ - 全局配置可能被项目级
composer.json中的repositories段覆盖,要检查是否硬编码了源地址
验证是否真生效:运行 composer diagnose,看 Repo packagist.org: 后面是不是你配的域名;或者用 composer require monolog/monolog -vvv,第一行 Downloading https://... 的域名必须匹配。
阿里云镜像已停用,优先选清华或腾讯源
截至 2026 年中,https://mirrors.aliyun.com/composer/ 已下线。当前稳定可用的国内镜像有:
- 清华源(公网偶尔触发人机验证):
https://mirrors.tuna.tsinghua.edu.cn/composer/ - 腾讯云源(企业环境更稳):
https://mirrors.cloud.tencent.com/composer/ - Laravel China 源(适合 Laravel 生态):
https://packagist.laravel-china.org
设置命令示例(全局):composer config -g repositories.packagist.org '{"type": "composer", "url": "https://mirrors.tuna.tsinghua.edu.cn/composer/"}'。注意整个 JSON 字符串要用单引号包裹,避免 shell 解析出错。
工作流任务拆解与模型编排技能。使用场景:(1) 收到复杂工作任务需要拆解为可执行步骤,(2) 需要为不同步骤选择最合适的模型,(3) 需要跟踪工作流进度和模型使用情况,(4) 长时间任务卡住需要问题诊断和解决方案。
报错里带 cURL error 60 或 SSL certificate problem
这不是网络问题,是 OpenSSL 根证书缺失或路径不对。常见于 macOS Homebrew PHP、Windows WAMP、Docker Alpine 镜像:
- 运行
composer diagnose,若提示cURL error 60,说明 CA 证书链验证失败 - Linux 系统通常可设:
composer config -g cafile /etc/ssl/certs/ca-certificates.crt - macOS Homebrew PHP 可用:
composer config -g cafile /opt/homebrew/etc/ca-certificates/cert.pem - 不推荐用
composer config -g disable-tls true,它绕过全部 HTTPS 安全校验,存在中间人风险
下载卡在 retrying…… 时别反复重试
反复执行 composer install 只会复用损坏的缓存包。真正该做的是:
- 先清缓存:
composer clear-cache(不是clear或clearcache) - 删掉
vendor/和composer.lock,再重装:rm -rf vendor composer.lock && composer install --prefer-dist - 如果仍失败,加
-vvv看具体哪个 URL 卡住——是packages.json元数据?还是某个包的zipball?前者是镜像同步延迟,后者可能是 GitHub API 限流(需配github-oauthtoken)
最易被忽略的一点:宝塔面板、GitHub Actions、GitLab CI 这些环境默认不读你的本地全局配置,必须在部署脚本里显式执行镜像设置命令,否则换源等于白换。










