必须同时满足三个硬性条件:键名严格为 repo.packagist(单数小写无空格)、type 固定为 composer、url 以 https:// 开头且末尾带斜杠,否则命令静默失效。

composer config -g repo.packagist 命令必须写对三个硬性条件
这条命令不生效,90% 是因为漏了关键要素,且 Composer 会静默 fallback 到 packagist.org,连警告都不报。必须同时满足:
-
repo.packagist是唯一合法键名(注意是 单数、小写、无空格;repos.packagist或packagist.org都无效) - 中间的
composer是type字段的**固定值**,不是可选参数,也不能省略或替换成其他字符串 -
URL必须以https://开头,且末尾带斜杠 ——https://mirrors.aliyun.com/composer/✅,https://mirrors.aliyun.com/composer❌(少斜杠会导致请求路径拼成/composerpackages.json,返回 404)
推荐直接执行:composer config -g repo.packagist composer https://mirrors.cloud.tencent.com/composer/(腾讯云镜像,每 5 分钟同步,HTTPS 稳定性优于阿里云)
验证是否真走镜像,别信“配完了”这种感觉
运行 composer config -g repo.packagist,输出必须是以下之一:
{"type": "composer", "url": "https://mirrors.cloud.tencent.com/composer/"}-
https://mirrors.cloud.tencent.com/composer/(新版 Composer 可能只返回 URL 字符串)
如果返回空、null、Key not found,或仍是 https://packagist.org,说明配置根本没写进去。Windows 用户改完需重启终端;Linux/macOS 下若用 sudo 执行但未加 -u 指定用户,也容易写错位置。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
项目级配置比全局更可靠,尤其在 CI 和多用户环境
全局配置写在 ~/.composer/config.json,只对当前 shell 用户生效。而宝塔、Docker、GitHub Actions 默认以 www-data 或 runner 用户运行,根本读不到你的配置。
- 进项目根目录(含
composer.json),执行:composer config repo.packagist composer https://mirrors.cloud.tencent.com/composer/(去掉-g) - 该命令会自动向
composer.json的repositories字段添加 packagist 条目,不覆盖已有私有源(前提是原repositories是对象{},不是数组[]) - 提交
composer.json后,协作者和 CI 构建直接生效,无需额外操作
已有自定义仓库?手动编辑易出错,优先用命令追加;若原 repositories 是空数组,先手动改成空对象再运行命令。
换源后仍卡在 Loading 或 Downloading,清缓存和 lock 文件是关键
Composer 会优先读取本地缓存和 composer.lock 中记录的旧元数据地址,哪怕你已配好镜像,它也可能还在用 packagist.org。
- 先运行:
composer clear-cache - 删掉项目下的
vendor/和composer.lock - 再执行:
composer install -vvv,观察日志里出现的是mirrors.cloud.tencent.com还是packagist.org
如果日志里仍有 packagist.org,说明配置未生效,或项目级 repositories 字段覆盖了全局设置。注意:composer update 不会重新加载镜像配置,它只基于现有 composer.lock 解析依赖 —— 要彻底重走镜像流程,必须删 lock 文件后重装。










