答案:create-project默认直连packagist.org查询元数据,不走全局镜像,需用--repository显式指定带末尾斜杠的镜像URL(如https://mirrors.aliyun.com/composer/)才能提速。

composer create-project 太慢,不是网络差,是它默认仍走 packagist.org 拉骨架元数据——哪怕你已配好全局镜像,这一步也常被绕过。直接切源 + 显式指定镜像地址,才能真正提速。
为什么 create-project 不走你配的全局镜像?
因为 create-project 会先向 Packagist 查询包的 composer.json 元数据(比如 laravel/laravel 的最新版本、dist URL),这个初始查询不经过 repo.packagist 配置,而是硬编码直连官方源。所以即使 composer config -g repo.packagist 已生效,create-project 仍可能卡在 Loading composer repositories。
- 验证方法:加
-vvv运行,看日志里第一行是否出现https://packagist.org/packages.json - 这不是配置失败,是设计如此——
create-project的“发现阶段”独立于后续安装阶段 - 临时镜像参数
--repository对它有效,但必须写对 URL 格式,且不能和项目级repositories冲突
create-project 临时切镜像的正确写法
用 --repository 强制跳过初始查询,直接从镜像读元数据。注意 URL 必须带末尾 /,否则 404;类型值 composer 不需要显式传,--repository 默认就是 Composer 类型源。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 阿里云镜像:
composer create-project laravel/laravel demo --repository=https://mirrors.aliyun.com/composer/ - 腾讯云镜像(fallback 更友好):
composer create-project laravel/laravel demo --repository=https://mirrors.cloud.tencent.com/composer/ - 清华源(适合教育网):
composer create-project symfony/skeleton demo --repository=https://mirrors.tuna.tsinghua.edu.cn/composer/ - 加
-vvv确认请求域名是否已变:Reading packages.json from https://mirrors.aliyun.com/composer/packages.json
永久解决:全局镜像 + 清缓存 + 关闭 Xdebug
单次命令快了还不够,新项目初始化时还得重复输。真正一劳永逸要三步闭环:
- 执行
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/(注意:漏composer类型值或 URL 少/都会静默失效) - 立刻运行
composer clear-cache—— 否则旧缓存里的packages.json还会反复触发对packagist.org的 DNS 查询 - 禁用 Xdebug:
XDEBUG_MODE=off composer create-project laravel/laravel demo,PHP 扩展开销在此类 I/O 密集操作中影响显著
CI/CD 或团队环境别依赖全局配置
在 GitHub Actions、GitLab CI 或宝塔等环境中,-g 配置常因用户权限错位(如 www 用户读不到 root 的 ~/.composer/config.json)而失效。此时应:
- 在构建脚本开头加一行:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ - 或改用项目级配置:
composer config repo.packagist composer https://mirrors.aliyun.com/composer/(不加-g),再提交composer.json,新人git clone后直接composer install - 特别注意:
composer.lock文件里记录的是 dist 包原始 URL,换源后首次install前最好删掉它,否则仍会尝试从旧地址下载
create-project 卡顿最常被归咎于“网络不好”,其实问题核心就三个字:没走镜像。而没走镜像的原因,90% 是 --repository 少了个 /,或全局配置漏了 composer 类型值——这些细节不报错,只静默回退,得靠 -vvv 日志和 composer config -g repo.packagist 输出交叉验证。

















