"Error: Unknown package has no name defined" when updating Craft 3
Okay, so this seems to be the incompatibility issue between craftcms/plugin-installer &lt; 1.5.6 and Composer 2: https://github.com/craftcms/plugin-installer/issues/5
The solution is to update in multiple steps:

Do a normal composer update, which will fail for a couple of plugins, but will update craftcms/plugin-installer to 1.5.6.
Delete the vendor folder.
Do a composer install, as the composer.lock file has already been updated in the first step, and craftcms/plugin-installer is locked to 1.5.6 now, so the plugins should install fine.
Deploy to production: because the lock file is backward-compatible, whenever the &quot;internal&quot; Composer of the server will be upgraded to the 2.0-branch, it will be handled, as the composer.lock file is already 2.0-compatible.