Search code examples
laravelcomposer-phplaravel-9

When updating Laravel from 8 to 9, composer packages can't resolve


I am trying to update laravel from 8 to 9 and made shure to properly follow the official update guide. My composer.json file now looks like this:

{
"name": "laravel/laravel",
"type": "project",
"description": "The Laravel Framework.",
"keywords": [
    "framework",
    "laravel"
],
"license": "MIT",
"require": {
    "php": "^8.0",
    "doctrine/dbal": "^2.10",
    "fideloper/proxy": "^4.0",
    "fruitcake/laravel-cors": "^2.0",
    "guzzlehttp/guzzle": "^7.0.1",
    "laravel/framework": "^9.0",
    "laravel/tinker": "^2.0",
    "laravel/ui": "^3.0",
    "league/flysystem-sftp": "~1.0",
    "owen-it/laravel-auditing": "^10.0"
},
"require-dev": {
    "barryvdh/laravel-debugbar": "^3.6",
    "spatie/laravel-ignition": "^1.0",
    "mockery/mockery": "^1.3.1",
    "nunomaduro/collision": "^6.1",
    "phpunit/phpunit": "^9.0"
},
"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/"
    },
    "classmap": [
        "database/seeders",
        "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"
    ]
}

}

Then, when running composer install I get the following error:

Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - illuminate/filesystem[v5.8.0, ..., 5.8.x-dev] require php ^7.1.3 -> your php versi
on (8.0.3) does not satisfy that requirement.
    - illuminate/filesystem[v6.0.0, ..., v6.19.1] require php ^7.2 -> your php version (
8.0.3) does not satisfy that requirement.
    - illuminate/filesystem[v7.0.0, ..., v7.28.4] require php ^7.2.5 -> your php version
 (8.0.3) does not satisfy that requirement.
    - Root composer.json requires owen-it/laravel-auditing ^10.0 -> satisfiable by owen-
it/laravel-auditing[v10.0.0, 10.0.x-dev].
    - Conclusion: don't install laravel/framework v9.0.0-beta.2 (conflict analysis resul
t)
    - Conclusion: don't install laravel/framework v9.0.0-beta.3 (conflict analysis resul
t)
    - Conclusion: don't install laravel/framework v9.0.0-beta.4 (conflict analysis resul
t)
    - Conclusion: don't install laravel/framework v9.0.0-beta.5 (conflict analysis resul
t)
    - 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)    
    - owen-it/laravel-auditing[v10.0.0, ..., 10.0.x-dev] require illuminate/filesystem ^
5.8|^6.0|^7.0 -> satisfiable by illuminate/filesystem[v5.8.0, ..., 5.8.x-dev, v6.0.0, ..
., 6.x-dev, v7.0.0, ..., 7.x-dev].
    - Only one of these can be installed: illuminate/filesystem[v5.8.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 illum
inate/filesystem and thus cannot coexist with it.
    - Root composer.json requires laravel/framework ^9.0 -> satisfiable by laravel/frame
work[v9.0.0-beta.1, ..., 9.x-dev].


Installation failed, reverting ./composer.json to its original content.

I use php 8.0.3. The error tells me php 7 is required. I don't really understand how that's possible, as laravel should require php 8, right?

Thanks for the help!


Solution

  • The package "owen-it/laravel-auditing" in version 10.0 requires Illuminate 5.8.x - 7.x.x, as stated on their version-information page.

    Change it to the proper version 13.0: "owen-it/laravel-auditing": "^13.0"