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

Behram Khattak's avatar

Laravel upgrade from 9x to 10x.

I had a Laravel 8 project that I successfully upgraded to version 9, but now I want to upgrade from 9 to version 10 but I experiencing some conflicts with dependencies although I followed the Laravel upgrade guide but no luck :(

composer.json

{ "name": "laravel/laravel", "type": "project", "description": "The Laravel Framework.", "keywords": ["framework", "laravel"], "license": "MIT", "require": { "php": "^8.1.0", "fruitcake/laravel-cors": "^2.1", "guzzlehttp/guzzle": "^7.0.1", "laravel/framework": "^10.0", "laravel/sanctum": "^3.2", "laravel/tinker": "^2.5", "maatwebsite/excel": "^3.1", "simplesoftwareio/simple-qrcode": "~4", "tucker-eric/eloquentfilter": "^3.1" }, "require-dev": { "spatie/laravel-ignition": "^2.0", "fakerphp/faker": "^1.9.1", "laravel/sail": "^1.0.1", "laravel/ui": "^4.0", "mockery/mockery": "^1.4.2", "nunomaduro/collision": "^6.1", "phpunit/phpunit": "^10.0" }, "autoload": { "psr-4": { "App\": "app/", "Database\Factories\": "database/factories/", "Database\Seeders\": "database/seeders/" }, "files": [ "app/Helpers/app_helper.php" ] }, "autoload-dev": { "psr-4": { "Tests\": "tests/" } }, "scripts": { "post-autoload-dump": [ "Illuminate\Foundation\ComposerScripts::postAutoloadDump", "@php artisan package:discover --ansi" ], "post-update-cmd": [ "@php artisan vendor:publish --tag=laravel-assets --ansi" ], "post-root-package-install": [ "@php -r "file_exists('.env') || copy('.env.example', '.env');"" ], "post-create-project-cmd": [ "@php artisan key:generate --ansi" ] }, "extra": { "laravel": { "dont-discover": [] } }, "config": { "optimize-autoloader": true, "preferred-install": "dist", "sort-packages": true }, "minimum-stability": "stable", "prefer-stable": true }

Error:

Problem 1 - Conclusion: don't install fruitcake/laravel-cors v2.2.0 (conflict analysis result) - illuminate/contracts[v6.0.0, ..., v6.19.1] require php ^7.2 -> your php version (8.2.22) does not satisfy that requirement. - illuminate/contracts[v7.0.0, ..., v7.28.4] require php ^7.2.5 -> your php version (8.2.22) does not satisfy that requirement. - illuminate/contracts[v8.0.0, ..., v8.11.2] require php ^7.3 -> your php version (8.2.22) does not satisfy that requirement. - Root composer.json requires fruitcake/laravel-cors ^2.1 -> satisfiable by fruitcake/laravel-cors[v2.1.0, v2.2.0]. - Conclusion: don't install laravel/framework v10.0.2 (conflict analysis result) - Conclusion: don't install laravel/framework v10.0.3 (conflict analysis result) - Conclusion: don't install laravel/framework v10.1.0 (conflict analysis result) - Conclusion: don't install laravel/framework v10.1.1 (conflict analysis result) - Conclusion: don't install laravel/framework v10.1.2 (conflict analysis result) - Conclusion: don't install laravel/framework v10.1.3 (conflict analysis result) - Conclusion: don't install laravel/framework v10.1.4 (conflict analysis result) - Conclusion: don't install laravel/framework v10.1.5 (conflict analysis result) - Conclusion: don't install laravel/framework v10.2.0 (conflict analysis result) - Conclusion: don't install laravel/framework v10.3.0 (conflict analysis result) - Conclusion: don't install laravel/framework v10.3.1 (conflict analysis result) - Conclusion: don't install laravel/framework v10.3.2 (conflict analysis result) - Conclusion: don't install laravel/framework v10.3.3 (conflict analysis result) - Conclusion: don't install laravel/framework v10.4.0 (conflict analysis result) - Conclusion: don't install laravel/framework v10.4.1 (conflict analysis result) - Conclusion: don't install laravel/framework v10.5.0 (conflict analysis result) - Conclusion: don't install laravel/framework v10.5.1 (conflict analysis result) - Conclusion: don't install laravel/framework v10.6.0 (conflict analysis result) - Conclusion: don't install laravel/framework v10.6.1 (conflict analysis result) - Conclusion: don't install laravel/framework v10.6.2 (conflict analysis result) - Conclusion: don't install laravel/framework v10.7.0 (conflict analysis result) - Conclusion: don't install laravel/framework v10.7.1 (conflict analysis result) - Conclusion: don't install laravel/framework v10.8.0 (conflict analysis result) - Conclusion: don't install laravel/framework v10.9.0 (conflict analysis result) - Conclusion: don't install laravel/framework v10.10.0 (conflict analysis result) - Conclusion: don't install laravel/framework v10.10.1 (conflict analysis result) - Conclusion: don't install laravel/framework v10.11.0 (conflict analysis result) - Conclusion: don't install laravel/framework v10.12.0 (conflict analysis result) - Conclusion: don't install laravel/framework v10.13.0 (conflict analysis result) - Conclusion: don't install laravel/framework v10.13.1 (conflict analysis result) - Conclusion: don't install laravel/framework v10.13.2 (conflict analysis result) - Conclusion: don't install laravel/framework v10.13.3 (conflict analysis result) - Conclusion: don't install laravel/framework v10.13.5 (conflict analysis result) - Conclusion: don't install laravel/framework v10.14.0 (conflict analysis result) - Conclusion: don't install laravel/framework v10.14.1 (conflict analysis result) - Conclusion: don't install laravel/framework v10.15.0 (conflict analysis result) - Conclusion: don't install laravel/framework v10.16.0 (conflict analysis result) - Conclusion: don't install laravel/framework v10.16.1 (conflict analysis result) - Conclusion: don't install laravel/framework v10.17.0 (conflict analysis result) - Conclusion: don't install laravel/framework v10.17.1 (conflict analysis result) - Conclusion: don't install laravel/framework v10.18.0 (conflict analysis result) - Conclusion: don't install laravel/framework v10.19.0 (conflict analysis result) - Conclusion: don't install laravel/framework v10.20.0 (conflict analysis result) - Conclusion: don't install laravel/framework v10.21.0 (conflict analysis result) - Conclusion: don't install laravel/framework v10.21.1 (conflict analysis result) - Conclusion: don't install laravel/framework v10.22.0 (conflict analysis result) - Conclusion: don't install laravel/framework v10.23.0 (conflict analysis result) - Conclusion: don't install laravel/framework v10.23.1 (conflict analysis result) - Conclusion: don't install laravel/framework v10.24.0 (conflict analysis result) - Conclusion: don't install laravel/framework v10.25.0 (conflict analysis result) - Conclusion: don't install laravel/framework v10.25.1 (conflict analysis result) - Conclusion: don't install laravel/framework v10.25.2 (conflict analysis result) - Conclusion: don't install laravel/framework v10.26.0 (conflict analysis result) - Conclusion: don't install laravel/framework v10.26.1 (conflict analysis result) - Conclusion: don't install laravel/framework v10.26.2 (conflict analysis result) - Conclusion: don't install laravel/framework v10.27.0 (conflict analysis result) - Conclusion: don't install laravel/framework v10.28.0 (conflict analysis result) - Conclusion: don't install laravel/framework v10.29.0 (conflict analysis result) - Conclusion: don't install laravel/framework v10.30.0 (conflict analysis result) - Conclusion: don't install laravel/framework v10.30.1 (conflict analysis result) - Conclusion: don't install laravel/framework v10.31.0 (conflict analysis result) - Conclusion: don't install laravel/framework v10.32.0 (conflict analysis result) - Conclusion: don't install laravel/framework v10.32.1 (conflict analysis result) - Conclusion: don't install laravel/framework v10.33.0 (conflict analysis result) - Conclusion: don't install laravel/framework v10.34.0 (conflict analysis result) - Conclusion: don't install laravel/framework v10.34.1 (conflict analysis result) - Conclusion: don't install laravel/framework v10.34.2 (conflict analysis result) - Conclusion: don't install laravel/framework v10.35.0 (conflict analysis result) - Conclusion: don't install laravel/framework v10.36.0 (conflict analysis result) - Conclusion: don't install laravel/framework v10.37.0 (conflict analysis result) - Conclusion: don't install laravel/framework v10.37.1 (conflict analysis result) - Conclusion: don't install laravel/framework v10.37.2 (conflict analysis result) - Conclusion: don't install laravel/framework v10.37.3 (conflict analysis result) - Conclusion: don't install laravel/framework v10.38.0 (conflict analysis result) - Conclusion: don't install laravel/framework v10.38.1 (conflict analysis result) - Conclusion: don't install laravel/framework v10.38.2 (conflict analysis result) - Conclusion: don't install laravel/framework v10.39.0 (conflict analysis result) - Conclusion: don't install laravel/framework v10.40.0 (conflict analysis result) - Conclusion: don't install laravel/framework v10.41.0 (conflict analysis result) - Conclusion: don't install laravel/framework v10.42.0 (conflict analysis result) - Conclusion: don't install laravel/framework v10.43.0 (conflict analysis result) - Conclusion: don't install laravel/framework v10.44.0 (conflict analysis result) - Conclusion: don't install laravel/framework v10.45.0 (conflict analysis result) - Conclusion: don't install laravel/framework v10.45.1 (conflict analysis result) - Conclusion: don't install laravel/framework v10.46.0 (conflict analysis result) - Conclusion: don't install laravel/framework v10.47.0 (conflict analysis result) - Conclusion: don't install laravel/framework v10.48.0 (conflict analysis result) - Conclusion: don't install laravel/framework v10.48.1 (conflict analysis result) - Conclusion: don't install laravel/framework v10.48.2 (conflict analysis result) - Conclusion: don't install laravel/framework v10.48.3 (conflict analysis result) - Conclusion: don't install laravel/framework v10.48.4 (conflict analysis result) - Conclusion: don't install laravel/framework v10.48.5 (conflict analysis result) - Conclusion: don't install laravel/framework v10.48.6 (conflict analysis result) - Conclusion: don't install laravel/framework v10.48.7 (conflict analysis result) - Conclusion: don't install laravel/framework v10.48.8 (conflict analysis result) - Conclusion: don't install laravel/framework v10.48.9 (conflict analysis result) - Conclusion: don't install laravel/framework v10.48.10 (conflict analysis result) - Conclusion: don't install laravel/framework v10.48.11 (conflict analysis result) - Conclusion: don't install laravel/framework v10.48.12 (conflict analysis result) - Conclusion: don't install laravel/framework v10.48.13 (conflict analysis result) - Conclusion: don't install laravel/framework v10.48.14 (conflict analysis result) - Conclusion: don't install laravel/framework v10.48.15 (conflict analysis result) - Conclusion: don't install laravel/framework v10.48.16 (conflict analysis result) - Conclusion: don't install laravel/framework v10.48.17 (conflict analysis result) - Conclusion: don't install laravel/framework v10.48.18 (conflict analysis result) - Conclusion: don't install laravel/framework v10.48.19 (conflict analysis result) - Conclusion: don't install laravel/framework v10.48.20 (conflict analysis result) - Conclusion: don't install laravel/framework v10.0.1 (conflict analysis result) - fruitcake/laravel-cors v2.1.0 requires illuminate/contracts ^6|^7|^8|^9 -> satisfiable by illuminate/contracts[v6.0.0, ..., v6.20.44, v7.0.0, ..., v7.30.6, v8.0.0, ..., v8.83.27, v9.0.0, ..., v9.52.16]. - Only one of these can be installed: illuminate/contracts[v5.5.0, ..., v5.8.36, v6.0.0, ..., v6.20.44, v7.0.0, ..., v7.30.6, v8.0.0, ..., v8.83.27, v9.0.0, ..., v9.52.16, v10.0.0, ..., v10.48.20, v11.0.0, ..., v11.21.0], laravel/framework[v10.0.0, ..., v10.48.20]. laravel/framework replaces illuminate/contracts and thus cannot coexist with it. - Root composer.json requires laravel/framework ^10.0 -> satisfiable by laravel/framework[v10.0.0, ..., v10.48.20].

0 likes
3 replies
puklipo's avatar
puklipo
Best Answer
Level 9

Tasks that everyone does when upgrading.

  1. Search by package name: "fruitcake/laravel-cors"
  2. Check GitHub: https://github.com/fruitcake/laravel-cors
  3. Read the README

You should remember this workflow.

This is a small change to the laravel/laravel repo during Laravel 9, so it's not in the upgrade guide.

2 likes
Snapey's avatar

Usually what I end up doing is removing third party packages, upgrade the framework and then require the packages again. This usually resolves any dependency issues, but where a package gets a major version bump, you will need to check their upgrade notes.

1 like

Please or to participate in this conversation.