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

jcanepa's avatar

Problem Updating to laravel/framework Version 9

Cannot update laravel/framework by updating to version 9.0 then running composer update. I also upper the version for nunomaduro/collision as per the upgrade guide. There seems to be a php version mismatch with illuminate/support, a package not directly defined by my project's composer requirements.

Standard output after running composer update with and without --with-all-dependencies option:

Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - illuminate/support[v8.0.0, ..., v8.11.2] require php ^7.3 -> your php version (8.1.0) does not satisfy that requirement.
    - Root composer.json requires therobfonz/laravel-mandrill-driver ^3.1 -> satisfiable by therobfonz/laravel-mandrill-driver[v3.1.0].
    - Conclusion: don't install laravel/framework v9.0.0-beta.2 (conflict analysis result)
    - Conclusion: don't install laravel/framework v9.0.0-beta.3 (conflict analysis result)
    - Conclusion: don't install laravel/framework v9.0.0-beta.4 (conflict analysis result)
    - Conclusion: don't install laravel/framework v9.0.0-beta.5 (conflict analysis result)
    - Conclusion: don't install laravel/framework v9.0.0 (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 v9.0.0-beta.1 (conflict analysis result)
    - therobfonz/laravel-mandrill-driver v3.1.0 requires illuminate/support ^8.0 -> satisfiable by illuminate/support[v8.0.0, ..., 8.x-dev].
    - Only one of these can be installed: illuminate/support[v5.5.0, ..., 5.8.x-dev, v6.0.0, ..., 6.x-dev, 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.1, ..., 9.x-dev]. laravel/framework replaces illuminate/support and thus cannot coexist with it.
    - Root composer.json requires laravel/framework ^9.0 -> satisfiable by laravel/framework[v9.0.0-beta.1, ..., 9.x-dev].

Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.

composer.json require and require dev:

    "require": {
        "php": "^8.0.2",
        "beyondcode/nova-tinker-tool": "1.1.0",
        "doctrine/dbal": "^3.3.2",
        "fruitcake/laravel-cors": "^2.0.5",
        "guzzlehttp/guzzle": "^7.4.1",
        "kabbouchi/nova-impersonate": "^1.11",
        "kabbouchi/nova-logs-tool": "^0.5.0",
        "laravel/cashier": "^13.8",
        "laravel/framework": "^9.0",
        "laravel/jetstream": "^2.6",
        "laravel/nova": "*",
        "laravel/sanctum": "^2.14.1",
        "laravel/slack-notification-channel": "^2.4.0",
        "laravel/tinker": "^2.7.0",
        "livewire/livewire": "^2.0",
        "rollbar/rollbar-laravel": "^7.0",
        "sbine/route-viewer": "^0.0.7",
        "spatie/laravel-http-logger": "^1.9.0",
        "spatie/laravel-permission": "^5.5",
        "spatie/nova-backup-tool": "^4.2.0",
        "therobfonz/laravel-mandrill-driver": "^3.1"
    },
    "require-dev": {
        "spatie/laravel-ignition": "^1.0",
        "fakerphp/faker": "^1.19",
        "mockery/mockery": "^1.5.0",
        "nunomaduro/collision": "^6.1",
        "phpunit/phpunit": "^9.5.13"
    }

Running:

  • locally on Laravel Homestead v13.2.1
  • PHP 8.1.0
  • Composer version 2.2.6
0 likes
11 replies
jlrdw's avatar

Double check you have composer correct, When I upgraded there were no errors. Look at new version composer.json as a reference.

jcanepa's avatar

@jlrdw no luck after bringing my composer.json into parity with this one, still seeing the same error. Have you ever seen a problem flagged from a package not defined in a project's composer.json file? I'm not sure where the illuminate/support problem is coming from, since it's not something I'm pulling in directly

jlrdw's avatar

@jcanepa what happens if you:

composer create-project laravel/laravel example-app

does it create the new project?

Try clearing composer cache, self update composer, etc. But normally this is a stray dependency not resolved.

Sometimes fixing one at a time is helpful.

jcanepa's avatar

@jlrdw I ran composer dump-autoload && composer clear-cache && composer self-update but no luck. The only place I'm seeing illuminate/support required is in laravel/nova which is pulled into my composer.json file as specified in the documentation:

"repositories": [
        {
            "type": "path",
            "url": "./nova"
        }
]

As well as in composer.json require like: "laravel/nova": "*"

The Nova package's require (which contains the problem package) looks like this:

  "require": {
    "php": "^7.3|^8.0",
    "brick/money": "^0.5.0",
    "cakephp/chronos": "^1.0|^2.0",
    "doctrine/dbal": "^2.13.3|^3.1.2",
    "illuminate/support": "^8.67|^9.0",
    "laravel/ui": "^3.3",
    "spatie/once": "^1.1|^2.0|^3.0",
    "symfony/console": "^5.4|^6.0",
    "symfony/finder": "^5.4|^6.0",
    "symfony/intl": "^5.4|^6.0",
    "symfony/process": "^5.4|^6.0"
  }

I am running Nova version 3.31.0 (latest available at this time).

Could this be the source of the issue? This error leads me to believe this is so:

Only one of these can be installed: illuminate/support[v5.5.0, ..., 5.8.x-dev, v6.0.0, ..., 6.x-dev, v7.0.0, ..., 7.x-dev, v8.0.0, ..., 8.x-dev, v9.0.0-beta.1, ..., 9.x-dev], laravel/framework[v9.1.0, 9.x-dev]. laravel/framework replaces illuminate/support and thus cannot coexist with it.
jcanepa's avatar

@jlrdw forgot to mention, I have no issues creating a fresh project with composer create-project laravel/laravel example-app, and the new install produces no errors when running composer update. Since I'm now eyeing laravel/nova as the source of the conflict, I'll test installing nova on a fresh install as well.

jcanepa's avatar

A fresh laravel project with only laravel/nova does not have this issue when running composer update.

JeffreyWay's avatar
Level 59

It's because the therobfonz/laravel-mandrill-driver package hasn't yet been updated to support Laravel 9.

You can either submit a PR to bump the dependencies, or you can fork the package and do it yourself. Then, in your composer.json file, you can install your forked copy like this:

    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/YourUsername/laravel-mandrill-driver"
        }
    ]
2 likes
jcanepa's avatar

@JeffreyWay thanks for the input, it led me to the fix. As you said, therobfonz/laravel-mandrill-driver package was causing a conflict, as was rollbar/rollbar-laravel. Removing both packages from my composer.json require has cleared my issue.

I'll work on submitting those PRs. Thank you.

junaidqadir's avatar

In my case, it was the issue with older version of Nova, upgrading nova fixed the issue for myself.

Please or to participate in this conversation.