Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

PaulAdams's avatar

Laravel 9 upgrade: Composer conflicts

Hello fellow devs, I am upgrading to Laravel 9, I followed the docs (I think!) but am getting composer errors in my simple project.

Your help will be much appreciated.

Problem 1
    - livewire/livewire[v2.3.3, ..., v2.9.0] require illuminate/support ^7.0|^8.0 -> satisfiable by illuminate/support[v7.0.0, ..., 7.x-dev, v8.0.0, ..., 8.x-dev].
    - illuminate/validation[v7.29.0, ..., 7.x-dev] require illuminate/contracts ^7.0 -> satisfiable by illuminate/contracts[v7.0.0, ..., 7.x-dev].
    - illuminate/support[v7.29.0, ..., 7.x-dev] require illuminate/contracts ^7.0 -> satisfiable by illuminate/contracts[v7.0.0, ..., 7.x-dev].
    - Conclusion: don't install illuminate/contracts 7.x-dev (conflict analysis result)
    - Conclusion: don't install laravel/framework v9.0.0 (conflict analysis result)
    - illuminate/validation[v8.12.0, ..., 8.x-dev] require illuminate/contracts ^8.0 -> satisfiable by illuminate/contracts[v8.0.0, ..., 8.x-dev].
    - illuminate/support[v8.12.0, ..., 8.x-dev] require illuminate/contracts ^8.0 -> satisfiable by illuminate/contracts[v8.0.0, ..., 8.x-dev].
    - Conclusion: don't install illuminate/contracts 8.x-dev (conflict analysis result)
    - Conclusion: don't install laravel/framework v9.0.1 (conflict analysis result)
    - Conclusion: don't install laravel/framework v9.0.2 (conflict analysis result)
    - Conclusion: don't install laravel/framework v9.1.0 (conflict analysis result)
    - Conclusion: don't install laravel/framework 9.x-dev (conflict analysis result)
    - livewire/livewire[v2.3.0, ..., v2.3.2] require php ^7.2.5 -> your php version (8.1.2) does not satisfy that requirement.
    - illuminate/validation[v7.0.0, ..., v7.28.4] require php ^7.2.5 -> your php version (8.1.2) does not satisfy that requirement.
    - illuminate/support[v7.0.0, ..., v7.28.4] require php ^7.2.5 -> your php version (8.1.2) does not satisfy that requirement.
    - illuminate/contracts[v7.0.0, ..., v7.28.4] require php ^7.2.5 -> your php version (8.1.2) does not satisfy that requirement.
    - illuminate/validation[v8.0.0, ..., v8.11.2] require php ^7.3 -> your php version (8.1.2) does not satisfy that requirement.
    - illuminate/support[v8.0.0, ..., v8.11.2] require php ^7.3 -> your php version (8.1.2) does not satisfy that requirement.
    - illuminate/contracts[v8.0.0, ..., v8.11.2] require php ^7.3 -> your php version (8.1.2) does not satisfy that requirement.
    - Root composer.json requires laravel/framework ^9.0 -> satisfiable by laravel/framework[v9.0.0-beta.1, ..., 9.x-dev].
    - Conclusion: don't install laravel/framework v9.0.0-beta.5 (conflict analysis result)
    - Root composer.json requires livewire/livewire ^2.3 -> satisfiable by livewire/livewire[v2.3.0, ..., v2.10.3].
    - league/flysystem-aws-s3-v3 1.0.x-dev is an alias of league/flysystem-aws-s3-v3 dev-master and thus requires it to be installed too.
    - league/flysystem-aws-s3-v3[dev-master, 1.0.15, ..., 1.0.25] require league/flysystem ^1.0.40 -> satisfiable by league/flysystem[1.0.40, ..., 1.x-dev].
    - league/flysystem-aws-s3-v3[1.0.0, ..., 1.0.13] require league/flysystem ~1.0 -> satisfiable by league/flysystem[1.0.0-alpha1, ..., 1.x-dev].
    - You can only install one version of a package, so only one of these can be installed: league/flysystem[1.0.0-alpha1, ..., 1.x-dev, 2.3.1, ..., 2.x-dev, 3.0.0, ..., 3.x-dev].
    - laravel/framework v9.0.0-beta.1 requires league/flysystem ^2.3.1 -> satisfiable by league/flysystem[2.3.1, ..., 2.x-dev].
    - livewire/livewire[v2.10.0, ..., v2.10.3] require illuminate/validation ^7.0|^8.0|^9.0 -> satisfiable by laravel/framework[v9.0.0-beta.1, ..., 9.x-dev], illuminate/validation[v7.0.0, ..., 7.x-dev, v8.0.0, ..., 8.x-dev, v9.0.0-beta.1, ..., 9.x-dev].
    - laravel/framework[v9.0.0-beta.2, ..., v9.0.0-beta.3] require league/flysystem ^3.0 -> satisfiable by league/flysystem[3.0.0, ..., 3.x-dev].
    - Conclusion: don't install league/flysystem 3.0.5 (conflict analysis result)
    - Conclusion: don't install league/flysystem 3.x-dev (conflict analysis result)
    - Conclusion: don't install laravel/framework v9.0.0-beta.4 (conflict analysis result)
    - Conclusion: don't install illuminate/validation 9.x-dev (conflict analysis result)
    - Root composer.json requires league/flysystem-aws-s3-v3 ^1.0 -> satisfiable by league/flysystem-aws-s3-v3[1.0.0, ..., 1.0.x-dev (alias of dev-master)].

Here is my composer.json

{
    "name": "laravel/laravel",
    "type": "project",
    "description": "The Laravel Framework.",
    "keywords": [
        "framework",
        "laravel"
    ],
    "license": "MIT",
    "require": {
        "php": "^7.3|^8.0",
        "bugsnag/bugsnag-laravel": "^2.0",
        "fideloper/proxy": "^4.4",
        "fruitcake/laravel-cors": "^2.0",
        "guzzlehttp/guzzle": "^7.0.1",
        "laravel/framework": "^9.0",
        "laravel/slack-notification-channel": "^2.3",
        "laravel/tinker": "^2.5",
        "league/flysystem-aws-s3-v3": "^1.0",
        "livewire/livewire": "^2.3"
    },
    "require-dev": {
        "spatie/laravel-ignition": "^1.0",
        "fakerphp/faker": "^1.9.1",
        "laravel/dusk": "^6.15",
        "mockery/mockery": "^1.4.2",
        "nunomaduro/collision": "^6.1",
        "phpunit/phpunit": "^9.3.3"
    },
    "config": {
        "optimize-autoloader": true,
        "preferred-install": "dist",
        "sort-packages": true
    },
    "extra": {
        "laravel": {
            "dont-discover": []
        }
    },
    "autoload": {
        "psr-4": {
            "App\": "app/",
            "Database\Factories\": "database/factories/",
            "Database\Seeders\": "database/seeders/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "Tests\": "tests/"
        }
    },
    "minimum-stability": "dev",
    "prefer-stable": false,
    "scripts": {
        "post-autoload-dump": [
            "Illuminate\Foundation\ComposerScripts::postAutoloadDump",
            "@php artisan package:discover --ansi",
            "@php artisan vendor:publish --force --tag=livewire:assets --ansi"
        ],
        "post-root-package-install": [
            "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "@php artisan key:generate --ansi"
        ]
    }
}
0 likes
6 replies
Sinnbeck's avatar

Can you try

composer require livewire/livewire laravel/framework
PaulAdams's avatar

Good suggestion. Composer complained and said to try with --with-all-dependences flag. That did a better job but still returns an issue:

Problem 1
    - Root composer.json requires nunomaduro/collision ^6.1, found nunomaduro/collision[v6.1.0] but the package is fixed to v5.11.0 (lock file version) by a partial update and that version does not match. Make sure you list it as an argument for the update command.
  Problem 2
    - laravel/framework 9.x-dev requires symfony/console ^6.0 -> found symfony/console[v6.0.0-BETA1, ..., 6.1.x-dev] but these were not loaded, likely because it conflicts with another require.
    - laravel/framework v9.1.0 requires league/flysystem ^3.0 -> found league/flysystem[3.0.0, ..., 3.x-dev] but these were not loaded, likely because it conflicts with another require.
    - Root composer.json requires laravel/framework ^9.1 -> satisfiable by laravel/framework[v9.1.0, 9.x-dev].

You can also try re-running composer require with an explicit version constraint, e.g. "composer require livewire/livewire:*" to figure out if any version is installable, or "composer require livewire/livewire:^2.1" if you know which you need.

I then ran composer require livewire/livewire:^2.1 -W and get the same error messages

Sinnbeck's avatar
Sinnbeck
Best Answer
Level 102

Try renaming your composer.lock file, remove vendor directory, and then run composer update

1 like
PaulAdams's avatar

Great! I got the original errors, so then ran composer require livewire/livewire laravel/framework and then composer update and then got errors with league/flysystem-aws-s3-v3, so I removed that package with composer remove league/flysystem-aws-s3-v3 AND IT WORKED :)

I'll investigate league/flysystem-aws-s3-v3 further.

Thanks for your super useful suggestions.

mary_anne's avatar

The "2.0" constraint for "bugsnag/bugsnag-laravel" appears too strict and will likely not match what you want.

This is the error am getting when trying to install bugsnag. Am on laravel 9. Can you help me with this?

Thank you

Please or to participate in this conversation.