Composer v2: Problemas al actualizar Drupal

Hoy he tenido un pequeño problema al intentar actualizar una web en Drupal 8.

Esta web siempre ha tenido composer en la versión 1, y ya la he actualizado varias veces. Pero justamente estoy empezando a usar imágenes docker para desarrollo local con composer v2.

Hoy me he llevado la sorpresa que esta web en concreto no la puedo actualizar usando composer v2 (es una buena práctica actualizar siempre en una copia en tu máquina local para comprobar que todo funciona bien y no reventar la web de cliente en el servidor de producción).

Me da el siguiente error:

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

  Problem 1
    - drupal-composer/drupal-scaffold[2.5.0, ..., 2.6.1] require composer-plugin-api ^1.0.0 -> found composer-plugin-api[2.0.0] but it does not match the constraint.
    - Root composer.json requires drupal-composer/drupal-scaffold ^2.5 -> satisfiable by drupal-composer/drupal-scaffold[2.5.0, ..., 2.6.1].

You are using Composer 2, which some of your plugins seem to be incompatible with. Make sure you update your plugins or report a plugin-issue to ask them to support Composer 2.

Al final no he podido solucionarlo, y lo único que he podido hacer es revertir el composer y volver a usar la v1. Más que nada porque el cliente me paga para actualizar Drupal, no para cambiar configuraciones del servidor. La "solución rápida" es dejar de momento la v1 de composer.

Esto se hace con este comando.

composer self-update --1

Esto es una molestia porque la v2 es mucho más rápida, pero por lo que parece no siempre es compatible con webs antiguas en D8.

EDIT: Al final que lo solucioné

En mi caso fue coger el composer.json de https://github.com/drupal-composer/drupal-project y repasar manualmente que cosas eran distintas. Ya que tenía problemas con las dependencias.

El compañero David (akalam) me ha recomendado este artículo de Acquia donde explican cómo actualizar "drupal/core-composer-scaffold". Es muy recomendable la lectura para solucionar este problema.

Tags

¿Tienes algún proyecto en mente?

Si quieres hacer algo en Drupal tal vez puedas contratarme.

Ya sea para consultoría, desarrollo o mantenimiento de sitios web Drupal.