正确命令是 composer config -g repo.packagist composer https://mirrors.ustc.edu.cn/composer/,需严格确保:-g 参数不可省、键名 repo.packagist 不能多s或错写、type 值必须显式为 composer、url 必须 https 且末尾带 /。

composer config -g repo.packagist 命令必须写对三处
这条命令不是“试试看”,错一个字符就静默失效,composer install 还是走 packagist.org,你根本不会收到报错提示。
-
-g参数不能省:缺了它只改当前项目目录下的composer.json,换个项目就失效 -
repo.packagist是固定键名——写成repos.packagist(多一个 s)或repositories.packagist都无效 -
composer是type值,必须显式写出;URL 必须是 HTTPS 且末尾带/,https://mirrors.ustc.edu.cn/composer少斜杠会拼出 404 路径
正确命令:
composer config -g repo.packagist composer https://mirrors.ustc.edu.cn/composer/
验证是否真的生效了
别信“命令跑完就 OK”。composer config -g repo.packagist 的输出必须是完整 JSON 对象,例如:
{"type": "composer", "url": "https://mirrors.ustc.edu.cn/composer/"}
如果返回空、null、报错,或只输出 URL 字符串(新版部分行为),说明配置没写进去。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 运行
composer diagnose,检查Repo.packagist.org行是否显示中科大地址 - 临时加
--no-cache执行一次composer update --no-cache,用curl -v或抓包确认请求发往mirrors.ustc.edu.cn - 注意权限:Linux/macOS 下若提示
Permission denied,先运行chown -R $USER ~/.composer
全局配置在 CI 或宝塔里为啥不生效
因为全局配置默认写进 ~/.composer/config.json,而 GitHub Actions、宝塔后台、Docker 容器大多以 www 或 runner 用户身份运行,根本读不到你的用户配置。
- 临时方案:用
sudo -u www composer config -g repo.packagist composer https://mirrors.ustc.edu.cn/composer/ - 更稳做法:进项目根目录,运行
composer config repo.packagist composer https://mirrors.ustc.edu.cn/composer/(不带-g)——它会安全合并进composer.json的repositories字段,Git 可追踪,CI 可复现 - 已有
"repositories": []数组?命令会追加;已有"repositories": {}对象?命令自动转为数组并插入"packagist"条目
换源后还卡在 “Loading composer repositories”
中科大镜像本身极少出问题,但 composer.lock 里存着旧源的元数据哈希,Composer 会优先读它,导致新镜像根本没被用上。
- 删掉
vendor/和composer.lock - 再执行
composer install(不是update) - 如果项目用了私有包源,确保
composer.json中repositories里没有"packagist": false——这会导致扩展校验失败
中科大镜像延迟稳定在 3–5 分钟,全量同步、不依赖商业 CDN,但它的优势只在你真正用上时才起作用——键名、斜杠、用户上下文、缓存清理,四个点漏一个,就等于没配。










