Solucionar problemas

Composer instala un paquete global pero no encuentra su comando

Revisado el 2 min de lectura composer terminal

Muchos paquetes de Composer incluyen binarios o ejecutables vía CLI que nos permiten acceder a funcionalidades desde la línea de comandos.

El instalador de Laravel, por ejemplo, proporciona el comando laravel. La creación de un proyecto también puede requerir otros programas según las opciones elegidas.

Lo primero que hacemos es instalar el paquete a nivel global en nuestra cuenta con composer global require:

composer global require "laravel/installer"

Si al ejecutar laravel la terminal responde command not found, comprueba antes que la instalación terminó correctamente y que el paquete contiene el binario:

composer global show laravel/installer
composer global config bin-dir --absolute

La segunda orden devuelve el directorio real de binarios. Verifica que allí existe laravel y ejecuta command -v laravel para saber si la shell ya lo encuentra.

Solo si el binario existe y su directorio no está en PATH, añade la ruta que devolvió Composer al fichero de inicio de la shell. En Bash, por ejemplo:

export PATH="$PATH:/ruta/devuelta/por/composer"

Ejecuta source ~/.bashrc para aplicar el cambio si la sesión usa Bash. En otra shell, modifica su fichero de inicio correspondiente.

No presupongas que la ruta es siempre ~/.composer/vendor/bin: puede cambiar según COMPOSER_HOME, XDG o la opción bin-dir de Composer.

Si ya encuentra el comando pero falla

Ejecuta primero laravel --version para confirmar qué binario estás usando sin crear un proyecto. Un error de permisos, del intérprete PHP o de requisitos es distinto de command not found y no se corrige añadiendo otra vez el directorio al PATH.

Un cron o una sesión no interactiva puede no leer ~/.bashrc. Para esas tareas usa rutas absolutas comprobadas y el PHP compatible. Añadir el directorio al final de PATH conserva la prioridad de un comando del mismo nombre que ya exista; utiliza command -v para detectar ese caso antes de cambiar el orden. No añadas directorios escribibles por otros usuarios.

También te puede ayudar

¿Algo no cuadra o ha cambiado? Cuéntanoslo y lo revisamos.