必须在Laragon内置终端执行composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/,键名严格为单数repo.packagist、第二参数固定为composer、URL以https://开头且末尾带/,验证输出为{"type": "composer", "url": "..."}才算生效。

不是 Laragon 慢,是默认 Composer 源没配对——国内直连 packagist.org 成功率常低于 40%,DNS 解析卡、TLS 握手失败、CDN 节点远,元数据拉取失败才是卡在 “Installing dependencies” 或 “Downloading packages.json” 的真正原因。
镜像必须配对 repo.packagist(单数)
执行这行命令才真正生效:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
三个细节缺一不可:
- 键名是 repo.packagist(不能多写一个 s,写成 repos.packagist 完全无效且不报错)
- 第二个参数固定为 composer(表示 type 类型,不是 URL,也不能省略)
- URL 必须以 https:// 开头,且末尾带 /(少斜杠会触发 Could not parse version constraint 或 404)
验证是否成功:运行 composer config -g repo.packagist,✅ 正确输出必须是完整 JSON:
{"type": "composer", "url": "https://mirrors.aliyun.com/composer/"}
❌ 输出为空、null、https://packagist.org 或报错,说明根本没生效。
缓存路径和 TTL 必须手动启用
只换镜像不启缓存,每次仍要重下 ZIP;只开缓存不换源,缓存根本拉不到包。二者必须配对:
- 设置缓存目录:composer config -g cache-files-dir ~/.composer/cache/files(若
composer config -g cache-files-dir输出为空,说明缓存未启用) - 设缓存有效期:composer config -g cache-files-ttl 3600(防因包更新导致旧缓存误用)
验证缓存是否起效:删掉 vendor/ 后再跑 composer install -vvv,日志中出现 Cache hit 或 Using cached 即表示命中。
create-project 卡在 Cloning?那是 GitHub 限流
Laravel 初始化分两步:第一步从 GitHub 克隆骨架模板(不走 Composer 镜像),第二步进目录执行 composer install(才走镜像)。第一步卡住,90% 是 GitHub API 限流:
- 未认证请求每小时仅限 60 次,Laragon 新建项目极易触发
- 配 GITHUB_TOKEN:composer config -g github-oauth.github.com your_token_here
- 或跳过 installer:git clone --depth=1 https://github.com/laravel/laravel.git myapp,再进目录执行
composer install --no-interaction --prefer-dist --no-dev --optimize-autoloader
四个参数必须一起加,少一个就白优化
composer create-project laravel/laravel myapp 本质是封装版 composer install,不加参数等于裸跑,默认慢出天际:
- --prefer-dist:强制下载 ZIP 包,跳过 git clone 和 submodule 同步(快 2–5 倍)
- --no-dev:新项目不需要 phpunit、laravel/pint 等开发依赖
- --optimize-autoloader:生成静态类映射,减少 autoload 文件扫描,Laravel 服务提供者加载明显提速
- --no-interaction:避免交互提示阻塞 Laragon 自动化流程
完整推荐命令:
composer create-project --prefer-dist --no-dev --optimize-autoloader --no-interaction laravel/laravel:^11.0 myapp


















