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

arkid's avatar
Level 1

Single problem updating to Laravel 9

I've had other Laravel installs update to v9 without issue but this one not. It's up to date on v8 currently but just changing the laravel version in the composer.json file to ""laravel/framework": "^9.0"," results in this:

Problem 1

- Root composer.json requires area17/twill ^2.8 -> satisfiable by area17/twill[2.8.0-beta.1, ..., 2.x-dev].

- symfony/var-dumper[v6.0.0-BETA1, ..., 6.0.x-dev] conflict with symfony/console <5.4.

- Conclusion: install symfony/var-dumper v6.0.11 (conflict analysis result)

- Root composer.json requires nunomaduro/collision ^4.0 -> satisfiable by nunomaduro/collision[v4.0.0, ..., v4.x-dev].

- You can only install one version of a package, so only one of these can be installed: symfony/console[v2.3.10, ..., 2.8.x-dev, v3.0.0-BETA1, ..., 3.4.x-dev, v4.0.0-BETA1, ..., 4.4.x-dev, v5.0.0-BETA1, ..., 5.4.x-dev, v6.0.0-BETA1, ..., 6.2.x-dev].

- Conclusion: install symfony/console v6.0.3 (conflict analysis result)

- Conclusion: don't install symfony/var-dumper[v6.0.11] | install one of symfony/console[v5.2.14, ..., v5.4.12] (conflict analysis result)

Can anyone give any guidance ?

0 likes
2 replies
Sinnbeck's avatar

Here is how I solve it. Copy the list of all dependencies out of composer.json. Now only install laravel 9 framework. Now install one dependency at a time with composer require

arkid's avatar
Level 1

Thanks @sinnbeck that did it. I just deleted everything from the "require-dev" section and composer update instantly worked. Turned out to be the entry "nunomaduro/collision": "^6.0"

What is interesting is that when I ran that first successful composer update which took me to Laravel 9, it output the following...

INFO Discovering packages.

area17/twill ................................................................................................................................ DONE astrotomic/laravel-translatable ............................................................................................................. DONE cartalyst/tags .............................................................................................................................. DONE devfactory/minify ........................................................................................................................... DONE fideloper/proxy ............................................................................................................................. DONE intervention/image .......................................................................................................................... DONE laravel/socialite ........................................................................................................................... DONE laravel/tinker .............................................................................................................................. DONE laravel/ui .................................................................................................................................. DONE matthewbdaly/laravel-azure-storage .......................................................................................................... DONE nesbot/carbon ............................................................................................................................... DONE nunomaduro/termwind ......................................................................................................................... DONE spatie/laravel-activitylog .................................................................................................................. DONE spatie/laravel-analytics .................................................................................................................... DONE

Now not all of those were in the require-dev so why are some listed, is it likely because they are dependancies on libraries that were in composer.json?

Secondly, what does it mean by DONE ? Done what? I understood it was just telling me it had found libraries that aren't in the composer.json file, but has it done something more than this ?

Please or to participate in this conversation.