必须先设置阿里云全局镜像源,命令为composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/;加-g确保所有项目生效,避免超时、找不到包等问题。

直接用 composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ 就能解决 90% 的安装卡顿、超时、could not find package topthink/think 问题。别先折腾项目级配置或手改 composer.json,全局镜像生效快、覆盖全、不污染项目。
为什么必须加 -g 参数?
不加 -g,命令只改当前目录下的 composer.json 里的 repositories 字段,新项目还得重配;加了 -g 才写入 ~/.composer/config.json,所有后续 composer create-project、composer install 都自动走阿里云源。
-
composer config repo.packagist ...→ 只影响当前项目(且要求composer.json里已有repositories字段) -
composer config -g repo.packagist ...→ 全局生效,推荐新手和单机开发首选 - 验证是否成功:运行
composer config -g repo.packagist,输出应为{"type": "composer", "url": "https://mirrors.aliyun.com/composer/"} - 拼错字段名(比如写成
repos.packagist或漏掉repo.)会静默失败,查不到值也不报错
composer create-project 安装 ThinkPHP 时的 Windows 坑
Windows 下不加双引号,^ 符号会被 cmd 吃掉,导致实际拉取的是 topthink/think:6.0.2(精确版本),而非语义化版本 ^6.0.2,极易因版本不存在报错。
- 正确命令:
composer create-project "topthink/think:^6.0.2" tp6demo - ThinkPHP 6.x LTS 推荐起始版本是
^6.0.2,不是6.0.*或dev-master - 若提示
file_get_contents(): SSL operation failed,大概率是openssl扩展没启用,不是镜像问题 - 路径含中文或空格(如
D:\我的项目\)会导致 autoload 失败,建议用纯英文路径
装完还慢?关掉这些“隐形拖累”
默认 composer install 会执行 dev 依赖、脚本、autoloader 生成——这些对运行 ThinkPHP 应用完全非必需,反而常因权限或 Xdebug 导致中断。
立即学习“PHP免费学习笔记(深入)”;
- 跳过开发依赖:
--no-dev(省掉 phpunit、phpstan 等大块头) - 跳过 post-install 脚本:
--no-scripts(避免post-autoload-dump因 vendor 路径异常失败) - 跳过 autoload 生成:
--no-autoloader(装完再单独跑composer dump-autoload -o更稳) - CI/CD 或首次部署推荐组合:
composer install --no-dev --no-scripts --no-autoloader --prefer-dist - Xdebug 必须关——它会让依赖解析慢 5 倍以上,PHPStorm 默认开启,别忽略
镜像不是万能解药:如果 composer config -g repo.packagist 输出正常但依然失败,优先检查 php -m | grep openssl 和 composer clear-cache,而不是反复换镜像源。



















