执行 composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ 即可全局配置阿里云镜像,需同时满足三个条件:带-g参数、键名为repo.packagist(非repos)、URL以https开头且末尾带斜杠;验证需运行composer config -g repo.packagist输出完整JSON对象。

执行 composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ 就行
这条命令直接写入当前用户的全局配置文件(~/.composer/config.json 或 Windows 下的 %APPDATA%\Composer\config.json),之后所有项目默认走阿里云镜像,不用重启终端、不用清缓存、也不用改任何项目文件。
它生效的前提是三个硬性条件同时满足:
-
-g参数不能漏——漏了就只改当前目录下的composer.json,换个项目就回退 - 键名必须是
repo.packagist(不是repos.packagist,也不是repositories.packagist,多一个s就静默失效) - URL 必须以
/结尾,且协议为https——少斜杠会请求/composerpackages.json导致 404,HTTP 地址在 Composer ≥2.2 中会被拒绝
验证是否真写进去了,别信“执行完就 OK”
运行 composer config -g repo.packagist,输出必须是完整 JSON 对象,形如:{"type": "composer", "url": "https://mirrors.aliyun.com/composer/"}。如果返回空、null、报错或提示 Key "repo.packagist" does not exist,说明没写成功。
常见原因:
- 拼错键名(比如
repos.packagist) - 漏掉
-g,结果写进了当前项目的composer.json - 用了
sudo执行,配置写进了 root 用户的~/.composer/config.json,而你日常用的是普通用户 - 环境变量
COMPOSER_HOME指向了错误路径,导致 Composer 读取了别的配置文件
为什么配完还是走 packagist.org?优先级被覆盖了
Composer 的配置优先级是:项目级 composer.json > 全局 config.json > 默认源。哪怕项目里只写了 "repositories": {} 或 "packagist.org": false,也会让全局镜像彻底失效。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
检查方式:
- 进项目根目录,运行
composer config repositories,看是否返回非空内容 - 打开项目
composer.json,搜索repositories字段 - 临时禁用项目级配置:
composer config --unset repositories,再试composer install -vvv观察日志里出现的域名
新版 Composer 推荐用 repos.packagist.org 替代 repo.packagist
Composer 2.2+ 开始,官方更推荐用规范键名 repos.packagist.org,尤其在需要精确覆盖子域名请求时 fallback 更可靠。命令写法不同,必须传完整 JSON:
composer config -g repositories.packagist.org '{"type": "composer", "url": "https://mirrors.aliyun.com/composer/"}'
注意:composer 是 type 值,不是可选参数;第二参数必须是合法 JSON 字符串,不能只写 URL,否则报错 Invalid repository type。
旧键名 repo.packagist 在 2.x 仍兼容,但遇到带自定义 metadata 的包时 fallback 可能失败——这点容易被忽略,尤其在 CI 环境里跑测试时突然拉不到某个 dev 分支依赖。

















