Composer update gives Undefined index: name

If you get an exception like running composer update in an older Laravel-project.

In PackageManifest.php line 122:

Undefined index: name

The problem stems from that older versions of Laravel is not compatible with Composer 2.

Laravel Composer 2 support
<= 5.4 Not supported
5.5 5.5.49
5.6 5.6.40
5.7 5.7.29
5.8 5.8.38
6.x 6.18.7
7.x 7.6.0
8.x 8.0.0

One solution is to downgrade to Composer 1, and upgrade Laravel and then upgrade to Composer 2 again

composer self-update --1

// change composer.json to make sure the a compatible version of Laravel is used
"laravel/framework": ">=5.7.29"

composer update

// revert back to Composer 2 again.
composer self-update --2