必须先配置国内镜像源,否则composer create-project会卡在“Loading composer repositories”——因默认packagist.org不可达且无自动fallback;验证需执行composer config -g repo.packagist,输出必须为{"type": "composer", "url": "https://mirrors.aliyun.com/composer/"}格式完整JSON,缺斜杠、键名错误或漏type值均导致静默失效。

composer create-project 卡在 Loading composer repositories 怎么办
这不是网络波动,是默认源 packagist.org 在国内不可达,且 Composer 不会自动 fallback 或提示换源。必须在执行前确保镜像已生效。
验证方式只看这一行:composer config -g repo.packagist,输出必须是类似 {"type": "composer", "url": "https://mirrors.aliyun.com/composer/"} 的完整 JSON;如果为空、null 或仍是 https://packagist.org,说明配置根本没写进去。
- 常见静默失败原因:键名写成
repos.packagist(多一个 s)、漏掉中间的composertype 值、URL 少末尾斜杠/ - 临时救急:直接加
--repository-url参数,例如composer create-project laravel/laravel demo --repository-url=https://mirrors.aliyun.com/composer/ - 目录必须为空——哪怕只放了个
.gitignore,create-project也会静默失败,不报错也不覆盖
为什么配了镜像还卡在 Resolving dependencies 或 Downloading
镜像只加速元数据拉取和 dist 包下载,不解决依赖解析慢或 Git clone 慢的问题。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
-
Resolving dependencies卡住:大概率是php版本约束太宽(如"^7.4 || ^8.0 || ^8.1 || ^8.2"),或require-dev堆了太多冲突工具(phpunit + phpstan + psalm) -
Downloading卡住:默认走--prefer-source,而镜像源不加速 Git clone;强制加--prefer-dist才能走压缩包通道 - 旧缓存或
composer.lock残留会导致 fallback 到海外源——必须执行composer clear-cache,并删掉vendor/和composer.lock,再跑composer install
项目级镜像配置比全局更可靠
CI/CD(GitHub Actions)、宝塔(www 用户)、Docker 容器里,~/.composer/config.json 往往读不到或不属于当前用户,全局配置形同虚设。
- 进项目根目录后执行:
composer config repo.packagist composer https://mirrors.aliyun.com/composer/(注意去掉-g) - 它会安全合并到
composer.json的repositories字段,key 固定为"packagist",不会清空已有私有源 - 改完必须删
vendor/和composer.lock,否则composer install仍按旧 lock 文件还原,完全不走新镜像 - 切勿手动在
composer.json里硬写"repositories": [{"type": "composer", "url": "..."}]——这会触发源合并逻辑,反而变慢甚至冲突
阿里云镜像地址必须带 HTTPS 和末尾斜杠
Composer 2.0+ 严格校验 URL 格式,任意一项不符就静默回退官方源,且无任何错误提示。
- 正确写法:
https://mirrors.aliyun.com/composer/(HTTPS + 末尾/) - 错误示例:
http://mirrors.aliyun.com/composer/(HTTP 被拒绝)、https://mirrors.aliyun.com/composer(少斜杠导致请求/composerpackages.json404) - 腾讯云和华为云地址也需注意路径差异:腾讯云带斜杠,华为云不带,但
composer config会自动补全,优先选阿里云 - 企业内网若拦截 HTTPS 重定向,可临时试
http://packagist.phpcomposer.com,但仅限调试,不安全
composer config -g repo.packagist 输出正确,再执行 composer create-project --prefer-dist laravel/laravel demo;如果团队协作或部署环境不确定,就进项目目录用 composer config repo.packagist ... 写死配置,并同步清理 vendor 和 lock 文件——漏掉任一环节,都可能让镜像“看似配了,实则没走”。

















