Composer. Resumen sobre resolucion de problemas
##Composer. Resumen sobre resolución de problemas
###Problemas generales de Composer
-
Revisa la configuración del sistema.
composer diagnose
-
Actualiza tu versión de Composer.
composer self-update
-
Aumenta el nivel de detalle de los mensajes.
-vvv
-
Borra la carpeta
vendor
y el ficherocomposer.lock
y ejecutacomposer install
. -
Vacía la caché interna.
composer clear-cache
composer install
o composer update
###Errores concretos.
-
Composer es muy lento al actualizar/instalar los paquetes.
Desactiva xDebug en tu fichero
php.ini
mientras usas Composer comentando las líneas correspodientes.
Con xDebug activado, el proceso de instalación y actualización de Composer puede durar hasta 20 veces más!!.
Nota: Comprueba si tienes xDebug activado. (Aparecerá
xdebug
) Windows:php -m | findstr xdebug
. Unix:php -m | grep xdebug
.
Utiliza --prefer-dist
para descargar los paquetes en formato .zip.
- Error de Timeout.
composer config --global process-timeout 1500
También puedes configurar el Timeout con la variable de entorno
COMPOSER_PROCESS_TIMEOUT
.
- Warning: Fichero lock desactualizado.
Warning: The lock file is not up to date with the latest changes in composer.json, you may be getting outdated dependencies,
run update to update them.
composer update --lock
.
- Warning: extensión openssl.
openssl extension is missing
o must enable the openssl extension
Habilita la extensión php_openssl.dll
en tu fichero php.ini
.
- 'Your requirements could not be resolved to an installable set of packages'.
Nota: Comprueba en primer lugar que los nombres de los paquetes están escritos correctamente.
- Borra
"prefer-stable": true
de tu ficherocomposer.json
. - Añade
"minimum-stability": "dev"
- Sube estabilidad y prueba.
- Añade
"prefer-stable": true
.
Define un [Alias](Solucionar-conflictos-de-versiones-y-requerimientos-en-Composer-(Alias).
- Error 503 al descargar los ficheros .zip de GitHub.
composer install --prefer-source
o composer update --prefer-source
.
###Importante
- Añade los ficheros
composer.json
ycomposer.lock
a tu repositorio Git. - Usa
composer install
en lugar decomposer update
. - En producción, usa
--no-dev
a no ser que necesites instalar las librerías de desarrollo. - En producción, usa
--optimize-autoloader
. - Combina
"minimum-stability": "dev"
con"prefer-stable": true
. - Recuerda utilizar el parámetro
--dev
del comandocomposer require
. - Antes de un
push
, ejecutacomposer validate
para validar tu ficherocomposer.json
. - Añade siempre la carpeta
vendor
a tu fichero.gitignore
.
Tienes más información en el artículo que he publicado en Styde.net: Composer: Resolviendo problemas
###Fuentes y más información:
Diferencias entre composer install y composer update.
[Autocarga de clases en Laravel (Autoload)](Autocarga-de-clases-en-Laravel-(Autoload)
Hoja Resumen interactiva sobre Composer - By JoliCode
Composer en castellano en LibrosWeb
[Solucionar conflictos de versiones y requerimientos en Composer (Alias)](Solucionar-conflictos-de-versiones-y-requerimientos-en-Composer-(Alias)