必须执行composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/,键名唯一、type必为composer、URL须HTTPS且末尾带斜杠,三者缺一即静默失效。

换镜像不是“试试看”,而是必须动作——默认源在国内基本不可用,不配就卡死。
composer config -g repo.packagist 命令必须写对这三点
绝大多数人配失败,不是网络问题,是命令敲错但 Composer 不报错、静默忽略:
-
repo.packagist是唯一合法键名,repos.packagist(多一个 s)或packagist.repo都无效 - 第三个参数必须是
composer,表示 type,漏掉它会 fallback 到默认源 - URL 必须是 HTTPS 且末尾带斜杠:
https://mirrors.aliyun.com/composer/✅,https://mirrors.aliyun.com/composer❌(少斜杠)、http://...❌(被 Composer 2.0+ 默认拦截)
验证是否生效:运行 composer config -g repo.packagist,输出应为完整 JSON 对象,例如:{"type": "composer", "url": "https://mirrors.aliyun.com/composer/"}
composer create-project 为什么换源也没用
这个命令绕过全局配置,直接访问 packagist.org 下载 skeleton 包,镜像设置完全不生效。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 必须显式加
--repository-url参数:composer create-project laravel/laravel myapp --repository-url=https://mirrors.aliyun.com/composer/ - 某些 starter 模板(如 Symfony)还会额外克隆 Git 仓库,镜像只加速包下载,Git 部分仍需代理或换 fork
- 别指望
-r参数——composer create-project不支持-r
项目级配置比全局更可靠,尤其在团队协作中
全局配置看着省事,但容易引发 composer.lock hash 不一致、CI 构建失败等问题。
- 进项目根目录,运行:
composer config repo.packagist composer https://mirrors.aliyun.com/composer/(去掉-g) - 该命令会自动在
composer.json中写入"repositories": {"packagist": {...}},key 必须是packagist,不能改成aliyun等别名 - 已有
repositories字段?别手动覆盖,用命令追加,否则可能误删私有源 - 换源后首次
composer install报 hash 校验失败,删掉vendor和composer.lock重来即可
镜像失效时别急着换源,先查这三件事
404 或超时不等于镜像挂了,大概率是本地环节出问题:
- 运行
composer clear-cache清掉本地缓存,避免旧索引干扰 - 检查是否用了已停服的地址,比如老教程里的
https://packagist.phpcomposer.com(已不可用) - 临时切回官方源验证:
composer config -g --unset repo.packagist,能装成功就确认是镜像同步滞后(新包通常延迟 1–2 小时)
镜像只加速 packagist.org 上的 PHP 包下载。含 Git 子模块、私有仓库、require-dev 里带 GitHub URL 的包,该慢还是慢——这些得单独处理,和镜像无关。

















