海外服务器必须使用官方源https://packagist.org/,禁用国内镜像;需检查并清除项目级repositories配置、环境变量composer_repo_packagist,刷新元数据缓存,ci中显式配置全局源。

海外服务器必须用官方源,镜像源不适用
海外服务器上配国内镜像(如阿里云、腾讯云)不仅没加速效果,反而会因跨地域 DNS 解析、HTTPS 证书链验证、CDN 路由绕行导致 composer install 变慢甚至超时。真正该做的是切回官方源:composer config -g repo.packagist composer https://packagist.org/。注意末尾的 / 不能省,否则请求路径拼错成 /packages.json 变成 /packagist.orgpackages.json,直接 404。
项目级配置会无声覆盖全局设置
即使你已在海外服务器上执行了全局配置,只要当前项目 composer.json 里存在 "repositories" 字段,Composer 就会优先使用它——哪怕里面写的是国内镜像地址。这会导致 composer update 去连 mirrors.aliyun.com,白白消耗出网带宽。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 检查是否被覆盖:运行
composer config repo.packagist(不加-g),看输出是不是https://packagist.org/ - 快速清理:执行
composer config --unset repositories,或手动删掉composer.json中整个"repositories"块 - 环境变量也可能干扰:
env | grep COMPOSER_REPO,有就unset COMPOSER_REPO_PACKAGIST
同步元数据 ≠ 同步 ZIP 包,别误删缓存目录
海外节点不需要“同步镜像”,它只需要能稳定访问 packagist.org 和 GitHub。但如果你之前在国内配过镜像,本地缓存里可能还存着旧的 packages.json 和 provider-*.json,这些文件不会自动更新,导致 composer require 找不到新发布的包。
- 最轻量做法:运行
composer update --refresh(≥2.5 版本),它只丢弃元数据缓存,不重下 ZIP 包 - 手动清缓存要精准:先查路径
composer config --global cache-dir,再进repo/https---packagist.org/子目录删,别误删成https---mirrors-aliyun-com-composer/ - 验证是否生效:加
-vvv运行composer require monolog/monolog --no-install,日志里搜Downloading,确认 URL 是https://packagist.org/packages.json
CI/CD 流水线中必须显式控制源行为
很多 CI 平台(GitHub Actions、GitLab CI)默认不读取用户家目录下的 ~/.composer/config.json,所以全局配置在流水线里根本无效。你看到的 “Loading composer repositories” 卡住十几秒,大概率是它正直连 packagist.org,而不是你期望的镜像。
- 推荐做法:在 CI 脚本开头加一行
composer config -g repo.packagist composer https://packagist.org/ - 更稳妥方式:所有
composer install都加--no-cache,避免复用旧缓存 - 禁用 fallback 行为:确保没设
COMPOSER_REPO_PACKAGIST环境变量,它会强制覆盖所有配置
repo.packagist 键名拼错一个字母、URL 少个斜杠、或者 composer.json 里多了一行 "repositories",都会让请求悄悄绕回国内镜像,既慢又烧钱。










