domingo, 5 de octubre de 2025

Recurso para encontrar un conflicto de requisitos de Composer

 La historia corta: Probar con un número de versión específico en composer require paquete versión, para acotar el rango de paquetes y así acortar la salida del log.


Cuando a Composer no le especificás un número de versión como en composer require paquete (omitiendo el número de versión), Composer primero va a intentar con la versión más reciente, y cada vez que falle la instalación por un conflicto de requisitos, Composer va a intentar una versión anterior.

Este proceso termina o con una versión que se pueda instalar o con una colección de errores, uno por cada versión que falló al instalar.

La diferencia entre especificar una versión y no hacerlo es que en el primer caso si falla, la salida del log muestra el error correspondiente a la única versión que intentó instalar, en cambio, en el segundo caso si fallan todos los intentos, la salida del log contiene la colección completa de errores, algo muy difícil de leer.

Conclusión: lo mejor es probar con una combinación de ambas formas. En el primer intento omitir la versión, para dejar de Composer vaya probando inteligentemente con todas las versiones disponibles. Si da error, en segundo lugar, ir a Packagist a ver todas las versiones que tiene el paquete para ir probando una por una la instalación y viendo qué error arroja cada versión, para concentrarse de a uno por vez en cada error que uno pueda arreglar para lograr la instalación del paquete.

Al hacer esto es mejor ir cambiando de versión de número mayor en número mayor, para acortar la cantidad de versiones a probar.

No hay comentarios: