Laravel 拉威尔罐头';t从5.7升级到7.0,编写器兼容性失败

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

我正在尝试将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
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获得最后一个版本请对您的答案添加一些解释,以便其他人可以从中学习。为什么现在需要这两个包中的任何一个?