不配镜像,composer create-project laravel/laravel 卡在 Downloading packages.json 是常态,因默认直连 packagist.org 国内成功率常低于 40%;换源是刚性前提。config -g repo.packagist 失效主因是键名错(必须单数)、缺 type 值“composer”、URL 末尾无/,三者任一出错均静默回退官方源,且验证必须输出完整 JSON:{"type": "composer", "url": "https://mirrors.aliyun.com/composer/"}。

不配镜像,composer create-project laravel/laravel 卡在 Downloading packages.json 是常态,不是你网速差——默认直连 packagist.org 在国内成功率常低于 40%,换源是刚性前提,不是“可选优化”。
为什么 composer config -g repo.packagist 总是不生效?
绝大多数人执行了命令却没提速,根本原因是配置写错了但 Composer 不报错,静默 fallback 回官方源。
-
repo.packagist键名必须是单数,写成repos.packagist(多一个 s)完全无效 - URL 必须以
https://开头,且末尾必须带/,漏掉会触发Could not parse version constraint或 404 - 第二参数
composer是 type 值,不能省略;写成composer config -g repo.packagist https://mirrors.aliyun.com/composer/少了composer就失效 - 验证唯一可靠方式:运行
composer config -g repo.packagist,输出必须是完整 JSON:{"type": "composer", "url": "https://mirrors.aliyun.com/composer/"},空、null、或只输出 URL 字符串都说明失败
composer create-project 还卡在 Cloning?那不是镜像问题
这个命令分两步:先从 GitHub 拉 Laravel 骨架模板(走 GitHub API),再进目录跑 composer install(才走镜像)。第一步卡住,90% 是 GitHub API 限流,和镜像无关。
工作流任务拆解与模型编排技能。使用场景:(1) 收到复杂工作任务需要拆解为可执行步骤,(2) 需要为不同步骤选择最合适的模型,(3) 需要跟踪工作流进度和模型使用情况,(4) 长时间任务卡住需要问题诊断和解决方案。
- 未配置
GITHUB_TOKEN时,GitHub 对未认证请求每小时仅限 60 次,新建项目极易触发限流 - 解决方法一:全局配 token:
composer config -g github-oauth.github.com your_token_here - 解决方法二:跳过 installer,改用 git 直接克隆:
git clone --depth=1 https://github.com/laravel/laravel.git myapp,再进目录composer install --no-interaction --prefer-dist --no-dev --optimize-autoloader - 临时排查:
curl -I https://api.github.com看是否能通,不通可加 hosts:140.82.112.4 api.github.com
四个参数必须一起用,少一个就白优化
create-project 本质是 composer install 的封装,生产级参数缺一不可。只加 --prefer-dist 不加 --no-dev,照样要拉 PHPUnit 等 20+ 个开发依赖,耗时翻倍。
-
--prefer-dist:强制走 ZIP 包下载,跳过git clone和 submodule 同步,实测快 2–5 倍 -
--no-dev:Laravel 新项目初始化阶段完全不需要phpunit/phpunit、laravel/pint等开发依赖 -
--optimize-autoloader:生成静态类映射,减少后续 autoload 阶段文件扫描,Laravel 服务提供者加载快 30%+ -
--no-interaction:避免交互式提示阻塞自动化流程,CI/CD 场景必加
缓存路径没启用,镜像再快也白搭
只换镜像不配缓存,速度提升有限;只开缓存不换源,缓存根本拉不到包。二者必须配对。
- 运行
composer config -g cache-files-dir,若输出为空,说明缓存未启用,需补:composer config -g cache-files-dir ~/.composer/cache/files - 设缓存有效期:
composer config -g cache-files-ttl 3600(1 小时),防因包更新导致旧缓存误用 - CI 环境务必挂载缓存目录,例如 GitHub Actions 中用
actions/cache缓存~/.composer/cache - 清缓存不是必须,但强烈建议首次配镜像后执行:
composer clear-cache
最易被忽略的点:镜像只加速元数据(packages.json、provider-laravel~11.0.json)和 tarball 下载,不影响 Resolving dependencies 阶段。如果 composer update 卡在这里,和镜像无关,得查依赖冲突或版本约束写法。

















