用 composer 的 prohibits 命令可以找出阻止 laravel 安装目标版本的依赖。先看锁定版本和依赖树,再在升级分支调整根约束并试算更新。
记录 PHP 版本和锁定依赖
示例从 Laravel 11 评估升级到 12。在项目根目录运行。
php -v composer validate composer show --locked laravel/framework

锁定版本说明当前安装计划。升级时还需核对目标版本所需 PHP 与扩展。
列出阻塞目标版本的依赖链
示例用具体版本 12.0.0 做诊断。实际升级可选择计划安装的版本。
Laravel Cloud(cloud.laravel.com)。此技能用于处理所有 Laravel Cloud 请求,包括搜索和读取数据。只要任务涉及 Laravel Cloud,即使用此技能。
composer prohibits laravel/framework 12.0.0 --tree
根项目仍声明 11.x 时,根约束出现在结果中是正常的。第三方包若只支持旧版 Illuminate,需要先查兼容版本。
调整根约束后先试算
在干净的升级分支里按升级指南调整 composer.json,再让 Composer 试算依赖变化。
composer update --with-all-dependencies --dry-run
试算应给出可解析的升级计划。正式更新后再检查锁文件差异并跑应用测试,保留原锁文件以便对照。

















