composer install 报“could not fetch https://repo.packagist.org/packages.json”是因国内直连 packagist tls 握手超时、dns 失败或链路干扰所致;应先用 curl 测试连通性,再排查代理、hosts 污染,可临时切国内镜像(如阿里云、清华、华为),注意同步延迟,必要时跳过 ssl 验证(仅调试)或配置私有仓库。
Composer install 时提示 “Could not fetch https://repo.packagist.org/packages.json”
这是最典型的远程仓库不可达表现,本质是 Composer 默认的 Packagist 镜像(https://repo.packagist.org)在国内直连失败。不是你本地网络完全断开,而是 TLS 握手超时、DNS 解析失败或中间链路被干扰。
- 先用
curl -I https://repo.packagist.org/packages.json测试底层连通性,比 Composer 更早暴露问题 - 如果 curl 也卡住或报
Connection timed out,说明是网络层问题,不是 Composer 配置问题 - 别急着换镜像——先确认是否公司代理/防火墙拦截了 HTTPS 请求,或本地 hosts 被污染(检查
/etc/hosts或C:\Windows\System32\drivers\etc\hosts是否有指向错误 IP 的 packagist 条目)
临时切换国内镜像源(阿里云 / 清华 / 华为)
镜像只是缓存,不能解决所有问题,但能绕过部分网络策略。注意:镜像同步有延迟(通常 5–30 分钟),刚发布的新包可能查不到。
- 全局设置(影响所有项目):
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ - 仅当前项目设置:
composer config repo.packagist composer https://mirrors.tuna.tsinghua.edu.cn/composer/ - 华为镜像地址是
https://mirrors.huaweicloud.com/repository/php/,注意末尾没有/composer路径 - 设完后运行
composer clear-cache,否则旧缓存可能继续报错
跳过 SSL 验证(仅调试用,生产环境禁用)
某些企业内网强制中间人代理,导致证书校验失败,错误信息里常含 SSL certificate problem 或 unable to get local issuer certificate。