Composer全局镜像配置不生效的主因是三个硬性条件未同时满足:键名必须为单数repo.packagist、第二参数必须显式写composer、URL须以https://开头且末尾带/;任一缺失即静默回退官方源,且无报错。

composer config -g repo.packagist 配不生效?检查这三处
90% 的人执行了命令却没生效,不是 Composer 不认,而是配置项写错、漏字符或没验证。镜像必须严格满足三个条件才能走国内源:
-
repo.packagist键名必须是单数,写成repos.packagist(多一个 s)完全无效,且不报错 - 第二参数必须是
composer(字符串字面量),不是type或其他值 - URL 必须以
https://开头,且末尾带/,例如https://mirrors.aliyun.com/composer/;少斜杠会返回 404 或触发Could not parse version constraint
验证是否成功,只看这一条命令输出:composer config -g repo.packagist
✅ 正确结果是完整 JSON:{"type": "composer", "url": "https://mirrors.aliyun.com/composer/"}
❌ 输出为空、null、https://packagist.org 或报错,说明没生效。
composer create-project 还卡在 downloading packages.json?那是没配对
你看到命令停在 Downloading https://packagist.org/packages.json,本质不是下载慢,而是元数据根本没拉下来——packages.json 是所有依赖解析的起点,它失败,后面全卡住。
原因很直接:默认直连 packagist.org,DNS 解析慢、TLS 握手卡、CDN 节点在国外。解决方法不是等,而是确保镜像真正接管请求:
- 先确认
composer config -g repo.packagist输出正确 URL - 再执行
composer clear-cache清掉旧缓存(尤其 PHP 小版本升级后缓存可能失效) - 加
-vvv看真实请求:composer create-project laravel/laravel demo -vvv,搜GET https://mirrors.aliyun.com/composer/packages.json才算走镜像
如果仍卡在 Cloning Laravel repository,那问题在 GitHub API 限流,和 Composer 镜像无关——此时要配 GitHub Token 或换国内 Git 镜像代理。
项目级镜像比全局更稳,但写法容易错
全局镜像(composer config -g)会影响所有项目,CI 脚本、私有包拉取、多 PHP 版本共存时容易出问题。项目专属镜像写在 composer.json 里,只作用于当前目录,调试和协作更可控。
工作流任务拆解与模型编排技能。使用场景:(1) 收到复杂工作任务需要拆解为可执行步骤,(2) 需要为不同步骤选择最合适的模型,(3) 需要跟踪工作流进度和模型使用情况,(4) 长时间任务卡住需要问题诊断和解决方案。
关键点在于结构和字段名:
- 顶层字段必须是复数
repositories(不是repo.packagist) - 内部键名必须是
"packagist"(小写单数),不是"packagist.org"或"default" - URL 同样要求
https://开头 + 末尾/,否则 404 - 改完
composer.json后,必须删掉composer.lock再跑composer install,否则 lock 文件会继续走旧源
混合私有源时,顺序很重要:repositories 是数组,把公司私有仓库放前面,再加 {"packagist": false} 关闭公共源 fallback,避免冲突。
Laravel 11 安装必须显式指定版本,别信默认
直接运行 composer create-project laravel/laravel 很可能拉到预发布版或不兼容分支,尤其 Laravel 11 要求 PHP ≥ 8.2,而默认命令不校验环境。
安全做法是锁定版本号:
- 装 Laravel 11:
composer create-project laravel/laravel:^11.0 myapp - 装 Laravel 10:
composer create-project laravel/laravel:^10.0 myapp
项目建好后进目录,立刻执行三件事:php artisan key:generatephp artisan config:clearphp artisan cache:clear
缺一不可——新项目不生成密钥或不清缓存,php artisan serve 启动后大概率白屏或报错。
镜像配置只是第一步,真正卡住的地方往往在 PHP 版本、扩展启用状态、lock 文件残留或密钥缺失。别只盯着“下载慢”,先用 composer config -g repo.packagist 和 -vvv 确认请求路径,再查 PHP 环境和项目初始化动作。

















