直接执行composer config -g repo.packagist composer https://packagist.mirrors.sjtug.sjtu.edu.cn即可全局切换至上海交大镜像,必须严格使用单数键名repo.packagist、显式type值composer、HTTPS且无末尾斜杠的URL,否则静默失效。

如何用命令行切换到上海交大 Composer 镜像
直接执行 composer config -g repo.packagist composer https://packagist.mirrors.sjtug.sjtu.edu.cn 即可全局启用上海交大镜像。这个地址是官方维护的稳定中文镜像,支持 HTTPS 和完整元数据同步。
常见错误是把 URL 写成 https://mirrors.sjtug.sjtu.edu.cn/packagist 或漏掉 repo.packagist 键名,会导致配置不生效或 composer install 时仍走官方源。
- 执行前建议先运行
composer config -g repo.packagist查看当前配置,避免重复覆盖 - 如果提示 “No repositories configured”,说明尚未设置过镜像,可放心覆盖
- 该命令会修改全局
~/.composer/config.json,不影响项目级配置
为什么不用 composer config -g repos.packagist(注意拼写)
repos.packagist 是旧版写法(Composer 1.x 早期),Composer 2.0+ 已统一为 repo.packagist(单数 repo,不是复数 repos)。写错会导致配置被忽略,composer update 依然缓慢且走官方源。
验证是否生效:运行 composer config -g repo.packagist,输出应为 https://packagist.mirrors.sjtug.sjtu.edu.cn;若为空或显示 {"type": "composer", "url": "..."} 这类对象结构,说明配置格式错误。
临时切换镜像(单次命令不改全局配置)
适合 CI 环境或不想污染本地配置的场景,直接在命令前加环境变量:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
COMPOSER_REPO_PACKAGIST=https://packagist.mirrors.sjtug.sjtu.edu.cn composer install
这个方式优先级高于全局配置,且不写入任何文件。注意变量名是 COMPOSER_REPO_PACKAGIST,不是 COMPOSER_MIRROR 或其他变体。
- 适用于 Docker 构建、GitHub Actions 等自动化流程
- 变量值必须是完整 URL,不能带 trailing slash(如
https://.../末尾斜杠会导致 404) - 对
composer create-project同样有效
恢复官方源的命令是什么
执行 composer config -g --unset repo.packagist 即可彻底删除镜像配置,Composer 会自动 fallback 到默认官方源 https://packagist.org。
不要手动编辑 config.json 删除字段——容易格式出错;也不要用 composer config -g repo.packagist '',空字符串会被当作无效 URL 导致报错 Invalid repository type: ''。
镜像本身没有认证或 token 要求,但如果你之前配置过私有仓库或 OAuth token,它们不受影响,只改动 packagist 源。

















