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:
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":
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:
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.