illuminate/contracts[v5.6.0, …, v5.8.36] require php ^7.1.3 -> your php version (8.x) does not satisfy that requirement.

Recently while working on Goform, I was trying to upgrade from Laravel 9 to 10 and this error kept coming up. I had no idea why, I had followed the upgrade guide for Laravel and updated the packages it was telling me to.

The fideloper/proxy package

Turns out, Laravel hasn’t used the fideloper/proxy package for a while (I think since 9.x, but don’t quote me on that).

Here’s how I fixed the issue.

Remove the fideloper/proxy package from your composer.json file:

json
"require": {
    ...
    // Remove the following line
    "fideloper/proxy": "...",
    ...
}

Clear the composer cache by running composer clear-cache

Update dependencies by running composer upgrade

If you’re still having issues, you can also try removing the vendor directory and composer.lock files before clearing the cache.

Good luck!