noernanda's avatar

laravel 9 upgrade composer conflicts

result laravel: composer update Problem 1

  • Root composer.json requires facade/ignition ^2.3.6 -> satisfiable by facade/ignition[2.3.6, ..., 2.17.7].
  • Root composer.json requires laravel/framework ^9.0 -> satisfiable by laravel/framework[v9.0.0-beta.1, ..., 9.x-dev].
  • facade/ignition[2.5.0, ..., 2.17.7] require illuminate/support ^7.0|^8.0 -> satisfiable by illuminate/support[v7.0.0, ..., 7.x-dev, v8.0.0, ..., 8.x-dev].
  • facade/ignition[2.3.6, ..., 2.4.2] require php ^7.2.5 -> your php version (8.2.12) does not satisfy that requirement.
  • illuminate/support[v7.0.0, ..., v7.28.4] require php ^7.2.5 -> your php version (8.2.12) does not satisfy that requirement.
  • illuminate/support[v8.0.0, ..., v8.11.2] require php ^7.3 -> your php version (8.2.12) does not satisfy that requirement.
  • Conclusion: don't install laravel/framework v9.0.0-beta.1 (conflict analysis result)
  • 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.2.0 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.3.0 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.3.1 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.4.0 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.4.1 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.5.0 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.5.1 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.6.0 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.7.0 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.8.0 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.8.1 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.9.0 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.10.0 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.10.1 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.11.0 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.12.0 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.12.1 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.12.2 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.13.0 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.14.0 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.14.1 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.15.0 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.16.0 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.17.0 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.18.0 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.19.0 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.20.0 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.21.0 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.21.1 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.21.2 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.21.3 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.21.4 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.21.5 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.21.6 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.22.0 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.22.1 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.23.0 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.24.0 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.25.0 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.25.1 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.26.0 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.26.1 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.27.0 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.28.0 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.29.0 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.30.0 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.30.1 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.31.0 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.32.0 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.33.0 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.34.0 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.35.0 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.35.1 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.36.0 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.36.1 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.36.2 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.36.3 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.36.4 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.37.0 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.38.0 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.39.0 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.40.0 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.40.1 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.41.0 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.42.0 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.42.1 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.42.2 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.43.0 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.44.0 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.45.0 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.45.1 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.46.0 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.47.0 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.48.0 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.49.0 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.50.0 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.50.1 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.50.2 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.51.0 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.52.0 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.52.1 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.52.2 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.52.3 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.52.4 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.52.5 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.52.6 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.52.7 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.52.8 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.52.9 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.52.10 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.52.11 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.52.12 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.52.13 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.52.14 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.52.15 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.52.16 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.52.17 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.52.18 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.52.19 (conflict analysis result)
  • Conclusion: don't install laravel/framework v9.52.20 (conflict analysis result)
  • Only one of these can be installed: illuminate/support[v5.0.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, v10.0.0, ..., 10.x-dev, v11.0.0, ..., 11.x-dev, v12.0.0, ..., 12.x-dev], laravel/framework[v9.0.0-beta.1, ..., 9.x-dev]. laravel/framework replaces illuminate/support and thus cannot coexist with it.

my composer.json

{ "name": "laravel/laravel", "type": "project", "description": "The Laravel Framework.", "keywords": [ "framework", "laravel" ], "license": "MIT", "require": { "php": "^8.0", "fideloper/proxy": "^4.2", "fruitcake/laravel-cors": "^2.0", "google/cloud-storage": "^1.25", "guzzlehttp/guzzle": "^7.0.1", "hashids/hashids": "^4.0", "laravel/framework": "^9.0", "laravel/helpers": "^1.4", "laravel/tinker": "^2.0", "laravel/ui": "^3.0", "sentry/sentry-laravel": "^2.6" }, "require-dev": { "facade/ignition": "^2.3.6", "fzaninotto/faker": "^1.9.1", "mockery/mockery": "^1.3.1", "nunomaduro/collision": "^6.1", "phpunit/phpunit": "^9.0" }, "config": { "optimize-autoloader": true, "preferred-install": "dist", "sort-packages": true, "allow-plugins": { "php-http/discovery": true } }, "extra": { "laravel": { "dont-discover": [] } }, "autoload": { "psr-4": { "App\": "app/" }, "classmap": [ "database/seeds", "database/factories" ] }, "autoload-dev": { "psr-4": { "Tests\": "tests/" } }, "minimum-stability": "dev", "prefer-stable": true, "scripts": { "post-autoload-dump": [ "Illuminate\Foundation\ComposerScripts::postAutoloadDump", "@php artisan package:discover --ansi" ], "post-root-package-install": [ "@php -r "file_exists('.env') || copy('.env.example', '.env');"" ], "post-create-project-cmd": [ "@php artisan key:generate --ansi" ] }

and I do not see any illuminate* packages referenced in it...

i tried to update manually to another version but still get error i also tried to update with --with-all-depencies for the option

How that can be fixed ?

Thanks!

0 likes
4 replies
tykus's avatar
tykus
Best Answer
Level 104

I assume that upgrading to Laravel 9 is not your end goal; rather it is a step in larger upgrade to a supported Laravel version (i.e. 11 or 12)?

Start by addressing the problematic package; read the README on that repo and you will see that it was not installable after Laravel 8, replaced by spatie/laravel-ignition.

Using Laravel 8 or above?

If you're on Laravel 8 or above, you can switch to spatie/laravel-ignition, which is a drop-in replacement. Replace facade/ignition with "spatie/laravel-ignition": "^1.0" in your application's composer.json file.

Going forward, we'll only add security fixes to facade/ignition and highly encourage you to switch to spatie/laravel-ignition.

https://github.com/facade/ignition?tab=readme-ov-file#using-laravel-8-or-above

Rinse and repeat this process for the next conflict(s).

1 like
martinbean's avatar

@noernanda The version of facade/ignition you have installed is requiring illuminate/support versions ^7.0 or ^8.0. Neither of these are ^9.0.

The upgrade guide for Laravel 9 does point this out under the “Updating Dependencies” section. From https://laravel.com/docs/9.x/upgrade#updating-dependencies:

In addition, please replace facade/ignition with "spatie/laravel-ignition": "^1.0" and pusher/pusher-php-server (if applicable) with "pusher/pusher-php-server": "^5.0" in your application's composer.json file.

So you haven’t read the upgrade guide properly if you’ve missed this step, and still trying to install the facade/ignition package when upgrading to Laravel 9.

1 like
sayanz's avatar

It looks like you're facing dependency conflicts because of the versions of facade/ignition and laravel/framework you have defined in your composer.json, and the version of PHP you're using (8.2.12). The error is coming from a version mismatch between required packages.

Here's a breakdown of the issues:

  1. Facade/Ignition version conflict: The version of facade/ignition you have (^2.3.6) is incompatible with your PHP version (8.2.12). Some of the versions of facade/ignition require PHP 7.2 or 7.3.

  2. Laravel version conflict: You're using laravel/framework version ^9.0, which might be clashing with other dependencies, especially with illuminate/support.

  3. Illuminate packages: laravel/framework already includes the illuminate/* packages, so you don't need to explicitly include them in your composer.json. Including them manually might cause conflicts since laravel/framework already covers that.

Solution:

Let's break down the steps to fix this:

1. Update composer.json to remove unnecessary dependencies

Since laravel/framework already includes the illuminate/* packages, you can safely remove laravel/helpers and other specific illuminate/* packages (if any) to avoid the conflict.

Update your composer.json like so:

  • Removed laravel/helpers because it's not required in Laravel 9 and might cause conflicts.
  • Updated facade/ignition version to ^2.5, which should be compatible with PHP 8.

2. Clear Composer cache and try updating

Now, you can clear your Composer cache and try running the update again:

composer clear-cache
composer update --with-all-dependencies

3. If the issue persists, try the following:

  • Check your PHP version: Make sure your environment is using PHP 8.x, which is compatible with Laravel 9.x. You can check this by running:

    php -v
    
  • Upgrade facade/ignition: You might need to upgrade the facade/ignition package to a newer version (such as ^2.5). If you don’t want to manually modify the composer.json file, you can try:

    composer require facade/ignition:^2.5
    
  • Manually resolve version conflicts: If you still encounter conflicts, you may need to manually adjust versions of the conflicting dependencies. However, Laravel 9.x should generally work with PHP 8. You can check the Laravel version compatibility with facade/ignition and PHP.

4. Test the installation

After following these steps, you should be able to successfully run:

composer update

This should resolve the conflicts and get your application updated to Laravel 9 with the proper versions of the required packages.

Please or to participate in this conversation.