Composer install卡在downloading packages.json是因直连国外packagist.org导致元数据拉取失败;须严格配置repo.packagist键、https://开头且末尾带/的镜像URL(如腾讯云https://mirrors.cloud.tencent.com/composer/),并执行composer clear-cache及-vvv验证请求地址。

composer install 卡在 downloading packages.json 或 provider-laravel~11.0.json,不是 Laravel 插件本身有问题,而是 Composer 默认直连 packagist.org——DNS 解析慢、TLS 握手卡、CDN 节点在国外。国内网络下,90% 的失败都发生在这一步,元数据拉不下来,后续所有依赖解析和 ZIP 下载全停摆。
镜像配置必须写对 repo.packagist 这个键名
写成 repos.packagist(多一个 s)或 repository.packagist,命令会静默失败,不报错也不生效。
-
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/是唯一正确格式 - URL 必须以
https://开头,且末尾带/,少一个就触发Could not parse version constraint或 404 - 验证是否成功,只看
composer config -g repo.packagist输出:✅ 必须是完整 JSON,如{"type": "composer", "url": "https://mirrors.aliyun.com/composer/"} - ❌ 输出为空、
null、https://packagist.org或报错,说明根本没配进去
阿里云镜像已非首选,2026 年推荐用腾讯云或 Laravel China
截至 2026 年 7 月,https://mirrors.aliyun.com/composer/ 同步延迟明显,部分 Laravel 11.x 新包未及时收录;主流社区已转向更稳定的替代源。
- 腾讯云镜像(同步快、响应稳):
composer config -g repo.packagist composer https://mirrors.cloud.tencent.com/composer/ - Laravel China 镜像(专为 Laravel 优化):
composer config -g repo.packagist composer https://packagist.laravel-china.org - 临时单次安装可加
--repository参数,但注意:不是--repository-url或--mirror,Composer 不识别这两个参数,会直接忽略
插件安装失败还可能是 PHP CLI 扩展缺失
报 Class 'Mbstring' not found 或 ext-pdo does not exist,不是镜像问题,而是 PHP 命令行模式没加载必要扩展。
- 运行
php --ini确认 CLI 加载的是哪个php.ini,别信网页端phpinfo() - 编辑该
php.ini,取消注释:extension=mbstring、extension=openssl、extension=pdo、extension=tokenizer、extension=curl - Linux/macOS 用户若用
apt/brew安装 PHP,需单独装扩展包,例如 PHP 8.2:sudo apt install php8.2-mbstring php8.2-xml php8.2-sqlite3 - 别用
--ignore-platform-reqs掩盖问题——它会让composer create-project成功,但后续php artisan key:generate或路由注册会随机崩
缓存污染比镜像失效更隐蔽
即使镜像配对了,composer install 仍卡住或报 Failed to decode response: zlib_decode(): data error,大概率是旧缓存损坏。
- 执行
composer clear-cache是必须步骤,不是“可选优化” - 如果之前在无镜像状态下跑过
composer update,缓存里可能存了半截packages.json,换镜像后不会自动刷新 - 验证是否走镜像:加
-vvv参数,看到类似GET https://mirrors.cloud.tencent.com/composer/packages.json才算真正生效
laravel/installer 或 spatie/laravel-permission 这类插件照样装不上。


















