卡在installing dependencies是composer拉包失败所致,需配对镜像源(如阿里云或腾讯云)、清缓存(composer clear-cache)并验证生效(composer config -g repo.packagist输出完整json),三步缺一不可。

卡在 Installing dependencies 不是 Laravel 问题,而是 Composer 拉包失败的典型表现;换阿里云或腾讯云镜像源能解决 90% 的卡顿,但必须配对、清缓存、验证生效,三步缺一不可。
镜像源配置命令必须写对
键名、type、URL 斜杠三处错一个,镜像就等于没配:
-
repo.packagist(不是repos.packagist或repository.packagist) -
composer必须显式作为type值写进命令里 - URL 末尾必须带
/,比如https://mirrors.aliyun.com/composer/,少斜杠会报Invalid repository type
正确命令示例:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
或腾讯云源:
composer config -g repo.packagist composer https://mirrors.cloud.tencent.com/composer/
换源后不清理缓存=白配
Composer 会优先读旧缓存里的 packages.json 和包元数据,哪怕源已改,它仍试图从旧地址拉取校验信息,结果就是卡在 DNS 解析或 TLS 握手。
必须立即执行:
composer clear-cache
验证是否清干净:
腾讯云跨账号资源迁移工具,支持将账号A的VPC、CLB、NAT、CVM、安全组等资源迁移至账号B,通过CCN云联网实现跨账号网络互通,提供自动扫描、配置生成、Terraform部署功能。
- macOS/Linux:
rm -rf ~/.composer/cache - Windows:
del /s /q %COMPOSER_HOME%\cache
清完再跑 composer install 或 composer create-project,否则大概率继续卡。
怎么确认镜像真生效了?
别只看命令没报错,要验证实际请求发到了哪:
- 查配置:
composer config -g repo.packagist输出必须是完整 URL,如{"type":"composer","url":"https://mirrors.aliyun.com/composer/"} - 看日志:
composer install -vvv最后几行应出现类似Reading packages.json from cache at .../https---mirrors-aliyun-com-composer/... - 若日志里还出现
https://packagist.org/packages.json,说明 fallback 了,配置没起作用
常见干扰项:
- 项目级
composer.json里写了"repositories"字段,会覆盖全局配置 -
http_proxy环境变量开着,可能绕过镜像走代理 - 公司防火墙拦截 HTTPS 重定向,需临时加
--secure-http=false(不推荐长期开)
安装时加参数避开常见卡点
composer create-project laravel/laravel 卡住,往往不是下载慢,而是 autoload 生成或 dev 依赖扫描太耗时:
-
--prefer-dist:强制下 ZIP 包,跳过 Git clone 开销 -
--no-dev:跳过require-dev里的测试/开发依赖(本地调试可先关掉) -
-o(即--optimize-autoloader):生成高效 autoload 映射,减少后续加载耗时 -
--no-install:跳过自动install,只拉骨架,进目录后再按需装
组合示例:
composer create-project laravel/laravel myapp --prefer-dist --no-dev -o
如果项目含自定义 post-create-project-cmd(比如 Laravel 的 key:generate),--no-install 会跳过这些脚本,得手动补。
真正容易被忽略的是:镜像源配置后不验证、不清缓存、不检查项目级覆盖——这三步漏掉任何一步,都会让换源变成无效操作。尤其 composer clear-cache,很多人以为配完就能跑,结果还是卡在原地。










