卡在 installing dependencies 是 composer 国内网络问题,需换阿里云镜像源并清缓存:composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/,再执行 composer create-project ... --prefer-dist --no-dev -o 并清理缓存。

卡在 Installing dependencies 不是 Laravel 的问题,而是 Composer 在国内网络环境下拉包失败或缓存失效的典型表现。核心解法就两条:换对镜像源 + 清掉旧缓存。
必须配阿里云全局镜像源
packagist.org 默认源在国内极不稳定,DNS 解析慢、TLS 握手易断、CDN 节点远,直接导致下载中途失败或无限重试。别用已停更的 phpcomposer.com(403 错误频发),只认官方推荐的阿里云源:
- 运行命令一次性设好:composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
- 验证是否生效:composer config -g repo.packagist 应输出阿里云地址
- 其他可选但非首选源(仅作备用):
– Laravel China:composer config -g repo.packagist composer https://packagist.-china.org
– 华为云:composer config -g repo.packagist composer https://repo.huaweicloud.com/repository/php/
安装时加关键参数提速避坑
光换镜像还不够,要配合三个参数让 Composer 跳过冗余动作:
- --prefer-dist:强制走 ZIP 包而非 git clone,省去 Git 协议开销
- --no-dev:跳过 require-dev 里的测试/开发依赖(本地调试可先关掉)
- --optimize-autoloader(简写 -o):生成高效 autoload 映射,减少后续加载耗时
组合使用示例:composer create-project laravel/laravel:^10.0 myapp --prefer-dist --no-dev -o
卡住后立即执行的清理动作
如果已卡住或报 zlib_decode() / data error / Connection timed out,说明缓存损坏或内存不足:
- 清 Composer 全局缓存:
macOS/Linux:rm -rf ~/.composer/cache
Windows:del /s /q %COMPOSER_HOME%\cache - 临时放开内存限制(尤其低配机器):COMPOSER_MEMORY_LIMIT=-1 composer create-project ...
- 升级 Composer 到 ≥2.2:composer self-update(旧版本存在 TLS 和解析缺陷)
注意 GitHub API 限流这个隐藏原因
有时候卡在 Installing dependencies 并非镜像问题,而是 laravel/installer 内部调 GitHub API 拉模板被限流(尤其没配 token 时):
- 方案一:配 GitHub Token(需先去 GitHub Settings → Developer settings → Personal access tokens 创建):composer config -g github-oauth.github.com your_token_here
- 方案二:绕过 installer,直接克隆稳定模板:git clone --depth=1 https://github.com/laravel/laravel.git myapp,再进目录运行 composer install --prefer-dist -o
- 顺手检查 hosts 是否污染:ping api.github.com,若解析异常,加一行 140.82.112.4 api.github.com 到 hosts 文件











