Composer config -g repo.packagist 命令未生效,主因是键名应为 repos.packagist(复数)而非 repo.packagist(单数),且 Composer 2.2+ 已废弃该键名,须改用 repositories.packagist.org 并分设 type 和 url;同时项目级 composer.json 中的 repositories 字段会完全覆盖全局配置,需检查并清空或禁用。

composer config -g repo.packagist 命令为什么没生效
执行 composer config -g repo.packagist https://mirrors.aliyun.com/composer/ 后,composer install 依然慢或超时,大概率是配置被覆盖或未写入全局配置文件。Composer 的全局配置默认存在 %APPDATA%\Composer\config.json(Windows 用户路径),但如果你之前用过项目级配置(composer config repo.packagist ...),它会优先读取当前目录下的 composer.json 中的 repositories 字段,导致全局镜像失效。
- 先运行
composer config -g --list,确认输出里是否真有repo.packagist对应的 URL - 如果没看到,说明命令执行失败——常见原因是权限不足(比如以普通用户身份运行了管理员 CMD,或反之)
- 如果看到了但没生效,检查当前项目根目录下是否有
composer.json,打开它看有没有"repositories"节点,有就删掉或注释掉 - 别用双引号包裹 URL,Windows CMD 对引号解析容易出错;直接写
composer config -g repo.packagist https://mirrors.aliyun.com/composer/
阿里云镜像和腾讯云镜像哪个更稳
阿里云镜像(https://mirrors.aliyun.com/composer/)目前兼容性更好,支持 Packagist 元数据全量同步,且对 composer create-project 和 composer global require 场景更友好;腾讯云镜像(https://mirrors.cloud.tencent.com/composer/)偶尔出现元数据延迟(尤其新包发布后 10–30 分钟内查不到),但下载速度在华南地区略快。
在 Windows 11 上"直接发声"的 TTS(从 WSL2/TUI 调用 powershell.exe + System.Speech)。适用于用户说"说出来/读出来/语音播报/用TTS",或反馈"没声音/tts 生成的 mp3 是空的/播不出来",以及需要中文语音但 OpenClaw 内置 tts 不可用时。
- 日常开发推荐用阿里云镜像:稳定、响应快、故障率低
- 如果项目部署在腾讯云 CVM 且遇到 404 或 “package not found”,可临时切到腾讯云镜像验证是否为同步延迟问题
- 华为云镜像(
https://repo.huaweicloud.com/repository/php/)不支持packages.json的完整结构,慎用;phpcomposer 镜像已停止维护,不要用
切换镜像后 composer install 仍卡在 “Resolving packages…”
这不是镜像问题,而是 PHP 扩展缺失或网络策略拦截。Composer 在解析依赖时需要 openssl 和 curl,缺一不可;即使镜像地址正确,没扩展也会卡住不动,且不报明显错误。
- 运行
php -m | findstr "openssl curl",确认两行都输出模块名;若无,打开php.ini,取消注释extension=php_openssl.dll和extension=php_curl.dll - 某些企业网络或杀毒软件会拦截 HTTPS 请求,可临时用
composer install -vvv查看卡在哪一步——如果停在Downloading https://mirrors.aliyun.com/composer/packages.json,就是网络层阻断 - 试试加
--no-secure-http(仅测试环境),强制走 HTTP(不推荐长期使用) - 如果用的是 WAMP/XAMPP,确保修改的是 CLI 模式下的
php.ini(不是 Apache 模块用的那个),路径通常为C:\wamp64\bin\php\php8.2.0\php.ini
如何验证镜像是否真正生效
别只信 composer config -g --list 的输出,要观察实际请求地址。最直接的办法是开一个空目录,运行 composer init -n 创建最小 composer.json,再执行 composer install -vvv,从日志里找第一行 HTTP 请求。
- 成功时你会看到类似
Downloading https://mirrors.aliyun.com/composer/packages.json - 如果还是
https://packagist.org/packages.json,说明镜像没生效,回到第一步检查全局配置路径 -
composer diagnose可检测基础环境,但它不会告诉你镜像是否被用上,只能排除 PHP 扩展和权限问题 - 注意:某些 IDE(如 PHPStorm)内置终端可能缓存旧 PATH 或 Composer 配置,建议统一用系统 CMD 或 PowerShell 验证

















