Laravel 拉威尔罐头';t从5.7升级到7.0,编写器兼容性失败
我正在尝试将laravel从5.7更新到7,但无论我尝试更新哪个软件包,我的composer都会失败 我还尝试从我的项目和composer-lock.json中删除供应商文件,但也没有成功 如何将当前的laravel应用程序从5.7升级到7 命令行故障Laravel 拉威尔罐头';t从5.7升级到7.0,编写器兼容性失败,laravel,composer-php,upgrade,laravel-7,Laravel,Composer Php,Upgrade,Laravel 7,我正在尝试将laravel从5.7更新到7,但无论我尝试更新哪个软件包,我的composer都会失败 我还尝试从我的项目和composer-lock.json中删除供应商文件,但也没有成功 如何将当前的laravel应用程序从5.7升级到7 命令行故障 COMPOSER_MEMORY_LIMIT=-1 composer update --with-dependencies Loading composer repositories with package information Upd
COMPOSER_MEMORY_LIMIT=-1 composer update --with-dependencies
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- barryvdh/laravel-cors v0.11.2 requires illuminate/support 5.5.x|5.6.x|5.7.x -> satisfiable by laravel/framework[v5.7.28, 5.5.x-dev, 5.6.x-dev, 5.7.x-dev], illuminate/support[5.5.x-dev, 5.6.x-dev, 5.7.17, 5.7.18, 5.7.19, 5.7.x-dev, v5.5.0, v5.5.16, v5.5.17, v5.5.2, v5.5.28, v5.5.33, v5.5.34, v5.5.35, v5.5.36, v5.5.37, v5.5.39, v5.5.40, v5.5.41, v5.5.43, v5.5.44, v5.6.0, v5.6.1, v5.6.10, v5.6.11, v5.6.12, v5.6.13, v5.6.14, v5.6.15, v5.6.16, v5.6.17, v5.6.19, v5.6.2, v5.6.20, v5.6.21, v5.6.22, v5.6.23, v5.6.24, v5.6.25, v5.6.26, v5.6.27, v5.6.28, v5.6.29, v5.6.3, v5.6.30, v5.6.31, v5.6.32, v5.6.33, v5.6.34, v5.6.35, v5.6.36, v5.6.37, v5.6.38, v5.6.39, v5.6.4, v5.6.5, v5.6.6, v5.6.7, v5.6.8, v5.6.9, v5.7.0, v5.7.1, v5.7.10, v5.7.11, v5.7.15, v5.7.2, v5.7.20, v5.7.21, v5.7.22, v5.7.23, v5.7.26, v5.7.27, v5.7.28, v5.7.3, v5.7.4, v5.7.5, v5.7.6, v5.7.7, v5.7.8, v5.7.9].
- illuminate/support v5.7.9 requires nesbot/carbon ^1.26.3 -> satisfiable by nesbot/carbon[1.26.3, 1.26.4, 1.26.5, 1.26.6, 1.27.0, 1.28.0, 1.29.0, 1.29.1, 1.29.2, 1.30.0, 1.31.0, 1.31.1, 1.32.0, 1.33.0, 1.34.0, 1.34.1, 1.34.2, 1.34.3, 1.34.4, 1.35.0, 1.35.1, 1.36.0, 1.36.1, 1.36.2, 1.37.0, 1.37.1, 1.38.0, 1.38.1, 1.38.2, 1.38.3, 1.38.4, 1.39.0, 1.39.1] but these conflict with your requirements or minimum-stability.
composer.json
{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": [
"framework",
"laravel"
],
"license": "MIT",
"type": "project",
"require": {
"php": "^7.4.6",
"alymosul/laravel-exponent-push-notifications": "^2.1",
"barryvdh/laravel-cors": "^0.11.2",
"beyondcode/laravel-websockets": "^1.1",
"facade/ignition": "^2.0",
"fideloper/proxy": "^4.0",
"guzzlehttp/guzzle": "^6.3",
"guzzlehttp/psr7": "1.5",
"illuminate/config": "^7.0",
"illuminate/validation": "^7.27",
"laravel/framework": "^7.24",
"laravel/passport": "^7.5",
"laravel/tinker": "^2.0",
"laravel/ui": "^2.2",
"mollie/laravel-mollie": "2.0",
"nesbot/carbon": "^2.39.1",
"pusher/pusher-php-server": "^4.1",
"tymon/jwt-auth": "1.0.*"
},
"require-dev": {
"beyondcode/laravel-dump-server": "^1.0",
"filp/whoops": "^2.0",
"fzaninotto/faker": "^1.4",
"mockery/mockery": "^1.0",
"nunomaduro/collision": "^4.1",
"phpunit/phpunit": "^8.5",
"sven/artisan-view": "^3.1"
},
"autoload": {
"classmap": [
"database/seeds",
"database/factories"
],
"psr-4": {
"App\\": "app/"
}
},
"autoload-dev": {
"psr-4": {
"Tests\\": "tests/"
}
},
"extra": {
"laravel": {
"dont-discover": []
}
},
"scripts": {
"post-root-package-install": [
"@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
],
"post-create-project-cmd": [
"@php artisan key:generate"
],
"post-autoload-dump": [
"Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
"@php artisan package:discover"
]
},
"config": {
"preferred-install": "dist",
"sort-packages": true,
"optimize-autoloader": true
},
"minimum-stability": "dev",
"prefer-stable": true
}
在composer.json中有“laravel/framework”:“^7.24” 要解决此问题,您需要添加以下2项: 照明/支撑 奈斯博特/碳
这就是composer所说的。不要直接从5.7升级到7。循序渐进,首先尝试从5.7升级到6,然后升级到7……然后您很容易发现问题……您可能使用了多个具有特定Laravel兼容性要求的软件包。例如,在您发布的错误中,
barryvdh/laravel cors
需要laravel 5.x或6.x,而不是7。@AkenRoberts-Hmm,所以我应该删除这些包?我想最好的办法是真正缓慢地升级?barryvdh/laravel cors
1.0.1以上版本支持laravel 7,您需要升级您的依赖项,并且(最重要的是)更新您的代码以使用新版本,因为它们不向后兼容。我可以通过什么方式找到兼容的软件包或需要更新的软件包?不,这不是说,这是说barryvdh/laravel cors v0.11.2不能与laravel 7一起安装,这意味着他需要使用兼容版本的barryvdh/laravel cors和laravel 7ah,我明白了,您使用的是旧版本的laravel corscomposer remove barryvdh/laravel cors composer需要barryvdh/laravel corstry,或者只需编辑您的composer.json并将与laravel 7兼容的最后一个版本放在一起。您可以从Packages获得最后一个版本请对您的答案添加一些解释,以便其他人可以从中学习。为什么现在需要这两个包中的任何一个?