全局换源需执行 composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/,并清除缓存、删除 composer.lock 和 vendor/;项目级 repositories 配置会覆盖全局设置;global require 需单独配置 ~/.composer/composer.json。

全局换源:一条命令搞定所有项目
直接运行 composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/,就能让后续所有 composer install 和 composer update 自动走阿里云镜像,不用改每个项目的 composer.json,也不用重启终端。
- 这条命令会写入
~/.composer/config.json,Composer 启动时自动读取 - 必须带
-g(global),漏了就只改当前项目,反而可能被项目级配置覆盖 -
repo.packagist是固定键名,不是变量;composer是 type 值,不能省略 - URL 末尾的
/必须保留,否则部分 Composer 版本会 404
换完没变快?两个动作不执行等于白配
配置写对了,但下载还是慢甚至卡在 packagist.org,大概率是缓存没清、或 lock 文件里硬编码了旧地址。
- 立即执行
composer clear-cache:强制清掉本地元数据缓存(包列表、版本映射等) - 删掉
composer.lock和vendor/,再跑一次composer install:旧 lock 文件会绕过镜像直连官方源 - 验证是否生效:
composer config -g repo.packagist应输出{"type": "composer", "url": "https://mirrors.aliyun.com/composer/"}
项目里写了 repositories 就会无视全局设置
只要项目根目录的 composer.json 里有 repositories 字段,哪怕只写了 {} 或 {"packagist.org": false},全局镜像就完全失效。
工作流任务拆解与模型编排技能。使用场景:(1) 收到复杂工作任务需要拆解为可执行步骤,(2) 需要为不同步骤选择最合适的模型,(3) 需要跟踪工作流进度和模型使用情况,(4) 长时间任务卡住需要问题诊断和解决方案。
- 检查方式:打开
composer.json,搜索repositories - 临时解决:
composer config --unset repositories(注意没-g,只作用于当前项目) - 某些 Laravel 脚手架模板自带禁用 packagist 的配置,本质是“关了门又没开窗”,结果找不到包
-
composer create-project初始化失败?加参数:composer create-project laravel/laravel demo --repository-url=https://mirrors.aliyun.com/composer/
global require 不走镜像?它有自己的配置层
composer global require 读的是全局项目(~/.composer/composer.json)的仓库配置,和全局 config(~/.composer/config.json)是两套体系。
- 现象:全局 config 设好了,但
composer global require larastan/larastan仍卡在Downloading https://packagist.org/packages.json - 解决:进
~/.composer目录,执行composer config repo.packagist composer https://mirrors.aliyun.com/composer/ - 验证:
composer global show -s会列出当前全局项目的仓库配置 - 别用
--no-plugins或错设COMPOSER_HOME,会导致配置加载错位
最容易被忽略的是 lock 文件和全局项目的双配置层——很多人清了缓存、改了 config,却忘了 composer.lock 里还锁着 packagist 的地址,或者以为 config -g 能管住 global require。这两处一漏,镜像就形同虚设。

















