Corregir el error «laravel: command not found» en macOS

Corregir el error «laravel: command not found» en macOS
Respuesta rápida

Instala primero el instalador con composer global require laravel/installer y pregunta después a Composer dónde coloca sus ejecutables: composer global config bin-dir --absolute. Añade esa ruta a tu PATH en ~/.zshrc y ejecuta source ~/.zshrc. En macOS con bash, el archivo es ~/.bash_profile, nunca ~/.bashrc.

Escribes laravel new mi-proyecto y la terminal responde:

code
zsh: command not found: laravel

El problema casi nunca es Laravel. Lo que ocurre es que el ejecutable que instala Composer está en una carpeta que tu shell no consulta. Hay que localizar esa carpeta y añadirla al PATH.

Artículo del itinerario Desarrollo web. Procedimiento verificado el 2 de septiembre de 2026 en macOS 26.5.1 con Composer 2.9.5 y zsh.

Lo primero: ¿está instalado el instalador?

El comando laravel no viene con Composer, se instala aparte:

bash
composer global require laravel/installer

Si nunca lo has ejecutado, ningún ajuste del PATH hará aparecer el comando. Ten en cuenta que puedes prescindir perfectamente de él: composer create-project laravel/laravel mi-proyecto hace lo mismo sin instalador global.

Localizar la carpeta correcta, sin adivinarla

La mayoría de los tutoriales te hacen copiar $HOME/.composer/vendor/bin. A menudo es correcto, pero no siempre: Composer elige su carpeta personal según el sistema y las variables de entorno presentes. En lugar de apostar, pregúntaselo:

bash
composer global config bin-dir --absolute
code
/Users/gekkode/.composer/vendor/bin

Ese es el resultado obtenido en macOS 26.5.1. En una instalación configurada para seguir las convenciones XDG, el comando puede devolver ~/.config/composer/vendor/bin. Usa siempre lo que muestre el comando en tu equipo, no lo que diga un tutorial.

La carpeta puede no existir todavía

Mientras no haya ningún paquete global instalado, la ruta es correcta pero la carpeta no existe. No pasa nada: añadir al PATH una carpeta inexistente no provoca ningún error, y se creará en el primer composer global require.

Añadir la carpeta al PATH con zsh

zsh es el shell por defecto de macOS desde Catalina. El archivo que hay que modificar es ~/.zshrc:

bash
echo 'export PATH="$HOME/.composer/vendor/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

Sustituye la ruta por la que te haya devuelto el comando anterior. El source aplica el cambio a la sesión actual, sin él, solo tendrá efecto en una terminal nueva.

Comprueba:

bash
which laravel
laravel --version

Y si usas bash

En macOS Mojave y anteriores, o si has conservado bash a propósito, el archivo es ~/.bash_profile:

bash
echo 'export PATH="$HOME/.composer/vendor/bin:$PATH"' >> ~/.bash_profile
source ~/.bash_profile
~/.bashrc no se lee al arrancar en macOS

Es el error clásico, y estaba en la versión anterior de este artículo. En macOS, el Terminal abre un login shell, que lee ~/.bash_profile y no ~/.bashrc. Una línea añadida en ~/.bashrc no se aplicará nunca, lo que da la impresión de que la operación no funciona.

Para saber qué shell estás usando:

bash
echo $SHELL
# /bin/zsh  →  ~/.zshrc
# /bin/bash →  ~/.bash_profile

Si el comando sigue sin aparecer

Tres comprobaciones por orden. Primero, ¿contiene el PATH realmente esa carpeta?

bash
echo $PATH | tr ':' '\n' | grep composer

Después, ¿está el ejecutable ahí?

bash
ls "$(composer global config bin-dir --absolute)"

Si no está, la instalación global ha fallado. Vuelve a lanzarla y lee la salida: un conflicto de versión de PHP es la causa más frecuente.

Por último, si el que no aparece es el propio Composer, es el mismo problema un nivel más abajo. En macOS, la instalación más sencilla pasa por Homebrew:

bash
brew install composer

En un servidor la cuestión no se plantea en los mismos términos: consulta la instalación de Composer en Debian.

La alternativa que elimina el problema

Laravel Herd instala PHP, Composer y el instalador de Laravel en un entorno gestionado, y se ocupa él mismo del PATH. Para un equipo de desarrollo macOS montado desde cero, es el camino más corto: ya no hay ningún archivo de configuración del shell que tocar.

Si ya trabajas con una instalación de Homebrew que controlas, la manipulación del PATH descrita más arriba sigue siendo perfectamente válida.

Errores frecuentes

Escribir en ~/.bashrc en macOS El Terminal abre un login shell, que lee ~/.bash_profile. Una línea añadida en ~/.bashrc no se aplica nunca.
Copiar una ruta encontrada en un tutorial Composer elige su carpeta según el sistema y las variables de entorno. Solo composer global config bin-dir --absolute da la ruta correcta en tu equipo.
Olvidar composer global require laravel/installer El comando laravel no viene con Composer. Sin él, ningún ajuste del PATH lo hará aparecer.
Modificar el PATH sin recargar Los cambios solo se aplican a las sesiones nuevas, salvo que ejecutes source sobre el archivo modificado.

ComposerLaravelmacOSPHP

Damien Flandrin Desarrollador web desde 2010, creador de Gekkode y de Email Impact. Cada artículo se prueba en un proyecto real antes de publicarse. Contacto
Newsletter

Las nuevas pruebas, tutoriales y proyectos, por correo.

Pruebas reproducibles, código versionado, resultados fechados. Nunca spam.