Laravel 5.2升级至5.6时Composer Update报错求助
解决Laravel 5.2升级到5.6时Composer依赖冲突问题
嘿,我看你在把Laravel从5.2升级到5.6的时候卡在了Composer依赖解析这一步,核心问题很明确——你用的barryvdh/laravel-cors ^0.8.5版本只支持Laravel 5.1到5.4,和你要装的Laravel 5.6的illuminate/support版本完全不兼容,所以Composer没法同时满足这两个要求。下面给你一步步拆解解决办法:
1. 先搞定laravel-cors的版本问题
这个包的v0.11.x版本是专门适配Laravel 5.5和5.6的,直接把composer.json里的对应依赖改成:
"barryvdh/laravel-cors": "^0.11.0"
2. 批量检查并升级其他老旧依赖
毕竟从5.2跳到5.6跨度太大,你其他几个依赖也跟不上版本了,得一起更新:
- tymon/jwt-auth: 0.5.*只支持到Laravel 5.4,要换成适配5.5+的
1.0.*版本:
提醒下:这个包升级后配置和代码结构有变化,比如中间件、配置文件,得跟着官方文档调整下。"tymon/jwt-auth": "^1.0.0" - cmgmyr/messenger: ~2.0只支持到5.4,换成适配5.6的
~4.0:"cmgmyr/messenger": "^4.0" - dingo/api: 1.0.*@dev可以改成稳定版的
1.0.*,它是支持5.6的:"dingo/api": "1.0.*" - phpunit/phpunit: ~4.0不兼容Laravel5.6要求的PHP7.1+,换成
~7.0:"phpunit/phpunit": "^7.0" - PHP版本要求: Laravel5.6最低要PHP7.1.3,把
"php": ">=5.5.9"改成"php": ">=7.1.3"
3. 执行更新操作
改完composer.json后,先试试执行:
composer update
如果还是有冲突,就先删掉composer.lock文件和vendor目录,再跑:
composer install
4. 升级后的收尾工作
- 一定要运行Laravel的升级命令来同步框架配置文件:
php artisan upgrade - 仔细检查你的自定义代码、中间件、服务提供者,看看有没有和Laravel5.6新特性冲突的地方,比如路由写法、模型方法的变化,还有第三方包的配置文件也要同步更新。
内容的提问来源于stack exchange,提问作者TheUnreal
相关产品推荐
相关产品推荐

