webman配置阿里云镜像需执行全局命令composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/,漏-g、键名错误或url缺尾斜杠均导致失效,且项目级repositories会覆盖全局配置。

Webman 本身不干预 Composer 行为,配置阿里云镜像和普通 PHP 项目完全一样——但很多人在 Webman 项目里反复执行 composer config repo.packagist ...,结果发现没生效,是因为误用了项目级配置,而没意识到全局配置才是根本解法。
全局配置命令必须带 -g 参数
Webman 项目本质仍是标准 Composer 项目,所有依赖安装走的是 Composer 自身逻辑。真正起效的只有一条命令:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/- 漏掉
-g就会写进当前项目的composer.json的repositories字段,反而可能被已有配置覆盖 - 键名必须是
repo.packagist(单数、无s),写成repos.packagist或repositories.packagist都静默失败 - URL 必须以
https://开头,且末尾带/,少一个斜杠会返回 404 或解析错误
Webman 初始化时卡住?create-project 要加 --repository
Webman 官方脚手架(如 webman/console)常自带 composer.json,里面可能固化了官方源或空 repositories,导致 composer create-project 第一步就卡在 packages.json 下载。
- 正确做法:加
--repository参数强制走镜像,例如:composer create-project webman/console myapp --repository=https://mirrors.aliyun.com/composer/ - 别用
--repository-url或--mirror,Composer 不识别,会直接忽略 - 如果仍卡在
Cloning,那不是镜像问题,是 GitHub API 限流,需配composer config -g github-oauth.github.com your_token
验证是否真走阿里云,别信“好像快了”
执行完配置后,必须用以下方式确认,否则大概率白配:
- 运行
composer config -g repo.packagist,输出必须是完整 JSON:{"type": "composer", "url": "https://mirrors.aliyun.com/composer/"} - 若输出为空、
null、或仍是https://packagist.org,说明没生效 - 跑一次
composer diagnose,看 “Repo” 行是否显示阿里云地址;若显示packagist.org is default,代表全局配置被项目级repositories覆盖 - 加
-vvv看真实请求:composer install -vvv中应出现GET https://mirrors.aliyun.com/composer/packages.json
最容易被忽略的点是:Webman 项目根目录下的 composer.json 里如果已有 repositories 字段(哪怕只写了 {} 或 {"packagist.org": false}),全局镜像就完全失效——得先删掉或 composer config --unset repositories,再清缓存 composer clear-cache,否则旧元数据还在本地硬扛。











