应执行composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/配置阿里云全局镜像源,键名、type值和url末尾斜杠缺一不可,验证需运行composer config -g repo.packagist输出镜像地址。

Composer 默认走国外源,composer install 卡在 Downloading... 或报 Connection timed out 是常态——直接切国内镜像源就能解决,不需要改项目配置,也不用每次手动加参数。
怎么设全局镜像源(推荐阿里云)
执行一条命令即可覆盖所有项目的源,后续所有 composer 命令自动走国内加速节点:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
这条命令会写入全局配置文件(通常是 ~/.composer/config.json),生效范围是当前用户下所有项目。如果想验证是否成功,运行:
composer config -g repo.packagist
输出应为 https://mirrors.aliyun.com/composer/。
- 别用
composer config -g repositories.packagist.org这种写法,Composer 2.x 已弃用该 key,会导致源失效 - 如果提示
Could not write to /root/.composer/config.json(Linux/macOS),说明权限不足,加sudo不推荐;更安全的做法是先mkdir -p ~/.composer再重试 - Windows 用户注意路径是
%USERPROFILE%\AppData\Roaming\Composer\config.json,命令本身不用改
为什么选阿里云,而不是腾讯或华为
三者都可用,但实际体验有差异:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 阿里云镜像同步频率高,通常滞后主站
- 华为云要求在 URL 后加
?type=composer才能正常响应,直接配https://repo.huaweicloud.com/composer/会返回 404 - 所有镜像都不代理私有包(如
packagist.private.com),只加速官方packagist.org的公开包
遇到“Your requirements could not be resolved”别急着换源
切镜像源解决的是网络问题,不是依赖冲突。如果换了源后依然报这个错,大概率是 composer.json 里写了不兼容的版本约束,比如:
-
"monolog/monolog": "^3.0"要求 PHP >=8.1,但本地是 PHP 7.4 - 用了
"dev-main"这类开发分支,而镜像源默认不同步非稳定分支(需额外配"minimum-stability": "dev") - 某些包被作者从 Packagist 下架,镜像源也不会保留历史记录
此时应运行 composer update --dry-run -v 查看具体冲突点,而不是反复折腾镜像地址。
公司内网环境要慎用全局配置
如果团队共用一套私有 Packagist(比如 Satis 或 Private Packagist),全局设成阿里云源会导致私有包无法安装——因为 Composer 只认一个 packagist.org 源,不会 fallback。
正确做法是:在项目根目录单独配,且只针对公共包走镜像:
composer config repo.packagist composer https://mirrors.aliyun.com/composer/
这样既加速了公共依赖,又不影响私有仓库的 repositories 配置。全局配置一旦写入,删起来也麻烦,composer config -g --unset repo.packagist 才能清掉。










