最准的当前生效源是全局配置中的 packagist 镜像地址,运行 composer config -g repo.packagist 可查;若为空则使用官方源 https://packagist.org,且需结合 composer diagnose 验证连通性。

composer config -g repo.packagist
直接查全局配置里的 Packagist 镜像地址,这是最准的当前生效源。Composer 会优先读这个,而不是看 composer.json 里有没有写死的 repositories。
- 运行
composer config -g repo.packagist,输出类似{"type": "composer", "url": "https://mirrors.aliyun.com/composer/"} - 如果返回空,说明没设全局镜像,走的是官方源
https://packagist.org - 注意:
-g是关键,漏掉就查当前项目配置,容易误判
composer config repo.packagist 查项目级镜像
有些项目在 composer.json 里手动加了 repositories 覆盖默认源,这时全局设置会被绕过。
- 运行
composer config repo.packagist(不带-g),看项目是否自定义了源 - 输出是对象时,
url字段就是实际用的镜像地址;如果报错Key "repo.packagist" does not exist,说明项目没覆盖 - 这种写法只影响当前目录及子目录,对其他项目完全没影响
composer diagnose 会提示镜像是否失效
光看地址不等于能用,网络、证书、镜像同步延迟都可能导致拉包失败。用 diagnose 能暴露真实连通性问题。
- 执行
composer diagnose,重点看Checking composer.json和Checking HTTP connection to packagist这两行 - 如果显示
WARNING说连接超时或 SSL handshake failed,哪怕地址是对的,也得换源或检查代理 - 它还会提醒你是否用了过期的镜像(比如某些高校源已停服但配置还留着)
国内常用镜像地址和切换命令
阿里云、腾讯云、华为云镜像目前比较稳,清华源偶尔同步延迟高一点。切之前建议先 composer clear-cache。
- 切阿里云:
composer config -g repo.packagist '{"type": "composer", "url": "https://mirrors.aliyun.com/composer/"}' - 恢复官方源:
composer config -g --unset repos.packagist - 注意单引号包裹 JSON,Windows cmd 里要用双引号且转义内部引号,不然解析失败
镜像地址本身只是字符串,真正起作用的是 Composer 启动时加载配置的顺序和网络可达性。很多人改完配置不重启终端、不清缓存、不关代理,结果以为命令没生效——其实只是旧缓存还在用。










