composer create-project 不支持 --repository-url 参数,该参数会被忽略或报错;正确做法是全局配置 composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/(需严格满足键名、type、末尾斜杠三条件)或项目级配置 composer config repo.packagist composer https://mirrors.aliyun.com/composer/。

国内用 composer create-project 卡在 Downloading... 或报 could not find package,八成不是网络差,是镜像没生效或参数用错——全局配置被项目级覆盖、--repository-url 在 create-project 里根本无效、URL 少斜杠或 type 漏写都会静默失败。
为什么 composer create-project 不认 --repository-url
create-project 命令不支持 --repository-url 参数,这是官方明确限制的。你加了它,Composer 会直接忽略,还可能报错 Unrecognized option。它只接受 --prefer-dist、--no-scripts 这类行为控制参数,不接受源地址覆盖。
- 临时换源验证?只能靠
composer config -g repo.packagist全局改,或进项目后手动改composer.json - CI 脚本里想隔离镜像?先
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/,再跑create-project - 误加
--repository-url后报错?删掉该参数重试,别浪费时间查拼写
composer config -g repo.packagist 必须写对的三个硬性条件
这条命令看着简单,但漏掉任意一个细节就静默失效:输出仍是空、https://packagist.org,或者返回 null。不是 Composer 坏了,是你没喂对。
- 键名必须是
repo.packagist(不是repos.packagist,多一个s就废) - type 值必须显式写
composer(不能省,也不能写成composer-type) - URL 必须是 HTTPS + 末尾带
/(https://mirrors.tuna.tsinghua.edu.cn/composer/✅,https://mirrors.tuna.tsinghua.edu.cn/composer❌)
验证是否真生效:运行 composer config -g repo.packagist,输出必须是完整 JSON 对象或至少含镜像域名的字符串;如果输出 https://packagist.org,说明被项目级 repositories 字段覆盖了。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
项目级镜像怎么写进 composer.json 才安全
团队协作或 CI 环境下,全局配置不可靠——www-data 用户读不到你的 ~/.composer/config.json,而项目级配置写死在 composer.json 里,拉代码即生效。
- 进项目根目录后,直接运行
composer config repo.packagist composer https://mirrors.aliyun.com/composer/(去掉-g) - 它会自动在
composer.json顶层添加"repositories"字段,并确保 key 是"packagist",不是"aliyun"或其他别名 - 已有私有源?命令会合并,不会清空;但若
"repositories"已是数组格式(如[]),命令会失败,需手动改成对象{}再重试 - 千万别写
"packagist.org": false——这会禁用所有基础包索引,连laravel/framework都装不上
改完立刻删掉 vendor/ 和 composer.lock,再跑 composer install(不是 update),否则 hash 校验会失败。
换镜像后 create-project 还卡在 Resolving dependencies
镜像只加速下载,不解决依赖解析慢的问题。create-project 卡在 Resolving dependencies 阶段几十秒以上,和镜像源完全无关,大概率是本地 composer.json 里写了过于宽泛的版本约束(比如 "^1.0 || ^2.0"),或启用了 minimum-stability: dev 导致遍历大量不稳定版本。
- 加
-vvv看详细日志:composer create-project laravel/laravel demo -vvv,观察卡在哪一步 - 确认是否真在走镜像:用
tcpdump或strace抓包,看实际请求的是mirrors.aliyun.com还是packagist.org - CI 环境中,
composer diagnose输出里的Repo packagist.org:行才是真实生效源,别只信config -g的输出
最常被忽略的一点:镜像配置只是“下载通道”,一旦 create-project 开始解析依赖树,它就完全脱离镜像控制——那部分逻辑纯靠本地 CPU 和 Composer 算法,换啥源都没用。










