viernes, 20 de junio de 2025

Disponibilizar un comando de terminal de un paquete instalado globalmente con Composer

Composer, el gestor de dependencias de PHP, nos ofrece la opción de instalar paquetes globalmente, para que puedan ser ejecutados como cualquier comando de shell, por ejemplo, ls, date, grep.

composer global require paquete

En Ubuntu 20, Composer instala estos paquetes en ~/.config/composer/vendor/bin.

Entonces, solo es cuestión de crear un enlace simbólico: ln -s ~/.config/composer/vendor/bin/laravel ~/.local/bin/. Si ejecutas ls -la .local/bin/ deberías ver un enlace simbólico para el comando laravel.

Opción dos: el problema con el primer enfoque es que necesitas crear un enlace simbólico para cada paquete global que instales. Así que, ¿por qué no olvidarnos de este rollo de ~/bin y ~/.local/bin y agregar la carpeta bin de Composer directamente a $PATH? Probablemente ya te diste cuenta, pero solo agrega esto a ~/.profile~/.bashrc o ~/.bash_profile:

if [ -d "/home/your-user/.config/composer/vendor/bin" ] ; then
    PATH="/home/your-user/.config/composer/vendor/bin:$PATH"
fi

Solo asegúrate de usar la ruta correcta de composer para tu sistema. El comando Laravel estará disponible en todo el sistema y puedes probarlo escribiendo "lara" y presionando TAB para autocompletar.


Fuente: https://www.reddit.com/r/laravel/comments/sykdco/after_installing_laravel_the_command_laravel_isnt/

No hay comentarios: