必须执行composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/并清缓存,否则create-project会因直连海外源卡顿或报错;-g确保写入全局配置,键名、type值、URL末尾斜杠缺一不可。

composer config -g repo.packagist 这条命令必须先跑,否则 composer create-project topthink/think 极大概率卡住或报 could not find package —— 不是网络差,是默认还在连海外源。
为什么镜像配置必须加 -g 参数
不加 -g,命令只改当前目录下的 composer.json,新项目根本用不上;加了 -g 才写入全局配置文件 ~/.composer/config.json,所有后续 create-project、install 都自动走阿里云源。
常见错误包括:
- 拼错键名,比如写成
repos.packagist或repo.packagist.(多一个点),命令静默失败,查composer config -g repo.packagist时输出为空 - URL 缺少末尾斜杠,
https://mirrors.aliyun.com/composer会 404,正确是https://mirrors.aliyun.com/composer/ - type 值写成
"composer"以外的字符串(如"packagist"),会导致源不可用
create-project 命令必须带双引号和版本约束
Windows 用户尤其要注意:^6.0.2 中的 ^ 会被 CMD 解析为命令控制符,直接执行 composer create-project topthink/think:^6.0.2 tp6lts 实际拉取的是 topthink/think:6.0.2(精确版本),而该 tag 可能不存在。
正确写法是:
立即学习“PHP免费学习笔记(深入)”;
-
composer create-project "topthink/think:^6.0.2" tp6lts(加双引号) - ThinkPHP 6.x LTS 推荐起始版本是
^6.0.2,不是6.0.*或dev-master - 路径含中文或空格(如
D:\我的项目\)会导致 autoload 失败,务必用纯英文路径
装完还慢?关掉这些“隐形拖累”
默认 composer create-project 会顺带执行 dev 依赖、脚本和 autoloader 生成——对运行 ThinkPHP 完全非必需,反而常因 Xdebug 或权限中断。
推荐组合参数:
-
--no-dev:跳过 phpunit、phpstan 等开发依赖 -
--no-scripts:避免post-autoload-dump因 vendor 路径异常失败 -
--no-autoloader:装完再单独跑composer dump-autoload -o更稳 - Xdebug 必须关——它会让依赖解析慢 5 倍以上,PHPStorm 默认开启
验证镜像是否真生效
执行 composer config -g repo.packagist,输出必须是完整 JSON 对象或至少是 https://mirrors.aliyun.com/composer/ 字符串。如果返回空、null 或报 Key 不存在,说明没写进去,立刻重试并检查拼写和斜杠。
另一个容易被忽略的点:composer clear-cache 必须在换镜像后立即执行——旧缓存可能仍指向 packagist.org,导致第一次安装依然超时。



















