Composer必须配置国内镜像,否则默认源packagist.org在国内基本不可用;全局配置需严格执行composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/,缺一要素(-g、单数键名、type值、HTTPS及末尾斜杠)即静默失效。

Composer 能装上,但不配国内镜像,等于白装。 默认源 packagist.org 在国内基本不可用——不是偶尔卡顿,而是持续性 DNS 解析失败、TLS 握手超时、元数据拉取动辄 5 分钟以上且无报错。必须在安装后立即配镜像,否则第一次 composer install 就会卡死在 “Loading composer repositories”。
Windows 下用 Composer-Setup.exe 安装后,镜像必须手动补
图形安装器只负责把 composer.phar 放进系统路径,完全不碰镜像配置。哪怕你选了“添加到 PATH”,也照样走官方源。
- 以管理员身份打开 PowerShell 或 CMD,运行:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ - 末尾斜杠
/不能省,否则拼接出错(如变成/composerpackages.json导致 404) - 如果提示
'composer' is not recognized,说明 PATH 没刷新,重启终端或重新登录 Windows 账户 - 验证是否生效:
composer config -g repo.packagist,输出应为{"type": "composer", "url": "https://mirrors.aliyun.com/composer/"}
Linux/macOS/WSL 全局配置命令写错就静默失效
composer config -g repo.packagist 这条命令看着简单,但漏掉任意一个要素都白干,且不报错、不提示、不覆盖,你以为配好了,其实还在连 packagist.org。
工作流任务拆解与模型编排技能。使用场景:(1) 收到复杂工作任务需要拆解为可执行步骤,(2) 需要为不同步骤选择最合适的模型,(3) 需要跟踪工作流进度和模型使用情况,(4) 长时间任务卡住需要问题诊断和解决方案。
-
-g必须带:缺了就是项目级配置,换目录就失效 -
repo.packagist是固定键名(注意是repo单数,不是repos;也不能写成packagist.org) -
composer是 type 值,不是可选参数,省略后 Composer 2.0+ 会 fallback 到官方源 - URL 必须 HTTPS + 末尾斜杠:
https://mirrors.tuna.tsinghua.edu.cn/composer/ - 权限问题常见于 WSL:如果提示
Permission denied,先执行chown -R $USER ~/.composer,再重试
项目级配置比全局更可靠,尤其适合团队和 CI
全局配置依赖当前用户身份,而宝塔、GitLab CI、Docker 构建常以 www 或 runner 用户运行,根本读不到你的 ~/.composer/config.json。
- 进项目根目录,运行:
composer config repo.packagist composer https://mirrors.aliyun.com/composer/(去掉-g) - 它会自动往
composer.json的repositories字段安全追加,不覆盖已有私有源 - 前提是
repositories当前是对象结构(如"repositories": {}),如果是数组("repositories": [])会报错,需先手动改成对象 - 改完记得删掉
vendor和composer.lock,再跑composer install,否则旧 lock 文件里的 hash 可能和镜像元数据不匹配
临时验证镜像是否真生效,别信“版本号出来就算成功”
看到 composer --version 输出,不代表镜像已生效。真正走镜像的标志是请求地址变了。
- 用
--repository-url加-vvv参数临时测试:composer install -vvv --repository-url=https://mirrors.ustc.edu.cn/composer/ - 观察日志里是否出现类似
GET https://mirrors.ustc.edu.cn/composer/p2/monolog/monolog.json的请求 - 这个参数优先级最高,会覆盖全局和项目级配置,适合排查镜像本身是否可用
- 别用已下线的镜像地址,如
https://packagist.phpcomposer.com(2023 年关停)或https://packagist.laravel-china.org(已失效)
最容易被忽略的是:镜像只加速元数据和 ZIP 包下载,不解决 Resolving dependencies 卡顿。如果你发现 composer update 卡在这一步,该查的是 composer.json 里 PHP 版本约束太宽、dev 包太多、require-dev 工具冗余,而不是换镜像。

















