Ir al contenido principal
Todas las coleccionesGestión de archivosConexión SSH
¿Cómo resolver los errores más comunes en Composer?
¿Cómo resolver los errores más comunes en Composer?

Resolver los problemas más comunes en Composer

Actualizado hace más de un año

Composer 1 (obsoleto) y Composer 2 están disponibles en nuestros planes Web Premium, Web Business y Cloud, ya que vienen preinstalados. Sin embargo, es posible que encuentres algunos errores durante la instalación de paquetes, permisos o memoria al utilizar cualquiera de ellos. Para resolverlos, sigue estos pasos:

Mensaje de error: "You Should Upgrade to Composer 2"

A partir de PHP versión 8.0, Composer 1 ya no está soportado. Si intenta instalar paquetes usando Composer 1 con PHP 8.0 o superior, encontrará un mensaje de error que le pedirá que actualice a Composer 2:

The message: Support for Composer 1 is deprecated and some packages will not be available. You should upgrade to Composer 2.

Para solucionarlo, utiliza el comando composer2 en lugar del comando obsoleto composer. Por ejemplo, para instalar el paquete gumlet/php-image-resize, utiliza:

composer2 require gumlet/php-image-resize 

El comando se puede intepretar automáticamente para intentar instalar el paquete usando la versión 2.0, si está disponible. De lo contrario, puedes intentarlo con el comando composer2 en su lugar.

Si el comando o paquete que necesitas sólo está disponible en Composer 1, puedes bajar temporalmente tu versión de PHP. Sin embargo, por razones de seguridad, se recomienda actualizar tus scripts o código para trabajar con la versión más reciente de PHP.

Mensaje de error: Permission Denied

La instalación de Composer 1 y Composer 2 es global en todos nuestros servidores, lo que significa que las versiones disponibles son fijas. Intentar actualizar Composer utilizando los siguientes comandos:

composer self-update or composer self-update --2

U otros comandos que requieran permisos superiores pueden dar lugar a un error de "Permiso denegado":

Composer update failed error messgae indicating it is a read-only file system

Para solucionar esto, necesitarás descargar e instalar el Composer localmente para cada proyecto que lo requiera. Sigue esta guía para completar el proceso: ¿Cómo instalar Composer localmente?

Una vez instalado, encontrarás un nuevo archivo composer.phar en la ruta de instalación:

The ls command showing the composer.phar file

Ahora puedes ejecutar cualquier comando, incluido self-update, ejecutándolo localmente. Utiliza este formato:

./composer.phar [COMMAND]

Por ejemplo, para actualizar Composer localmente, introduce:

./composer.phar self-update --2

Mensaje de error: Memory Exhausted

Si aparece un error Memoria agotada después de ejecutar comandos de Composer, indica que el proyecto ha superado los límites de memoria disponible de tu plan de hosting.

Para solucionar esto, intenta ejecutar Composer con una modificación de memoria ilimitada. Utiliza este formato para Composer global:

php -d memory_limit=-1 /usr/local/bin/composer [COMMAND] 

O este formato para una instalación local de Composer:

php -d memory_limit=-1 composer.phar [COMMAND]

Si el error persiste, es posible que tu proyecto necesite más recursos - para solucionarlo, puedes considerar mejorar tu plan de hosting. O bien, puedes ejecutar los comandos en tu máquina local y luego cargar el proyecto a tu hosting.

¿Ha quedado contestada tu pregunta?