Corriger l’erreur « laravel: command not found » sur macOS

Corriger l’erreur « laravel: command not found » sur macOS
Réponse rapide

Installez d’abord l’installateur avec composer global require laravel/installer, puis demandez à Composer où il place ses exécutables : composer global config bin-dir --absolute. Ajoutez ce chemin à votre PATH dans ~/.zshrc, puis source ~/.zshrc. Sur macOS avec bash, le fichier est ~/.bash_profile, jamais ~/.bashrc.

Vous tapez laravel new mon-projet et le terminal répond :

code
zsh: command not found: laravel

Le problème n’est presque jamais Laravel. C’est que l’exécutable installé par Composer se trouve dans un dossier que votre shell ne consulte pas. Il faut donc trouver ce dossier, puis l’ajouter au PATH.

Article du parcours Développement web. Procédure vérifiée le 2 septembre 2026 sur macOS 26.5.1 avec Composer 2.9.5 et zsh.

D’abord : l’installateur est-il installé ?

La commande laravel n’arrive pas avec Composer, elle s’installe séparément :

bash
composer global require laravel/installer

Si vous ne l’avez jamais lancée, aucun réglage de PATH ne fera apparaître la commande. Notez que vous pouvez très bien vous en passer : composer create-project laravel/laravel mon-projet fait la même chose sans installateur global.

Trouver le bon dossier, sans le deviner

La plupart des tutoriels vous font copier $HOME/.composer/vendor/bin. C’est souvent juste, mais pas toujours : Composer choisit son dossier personnel selon le système et les variables d’environnement présentes. Plutôt que de parier, demandez-lui :

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

C’est le résultat obtenu sur macOS 26.5.1. Sur une installation configurée pour suivre les conventions XDG, la commande peut renvoyer ~/.config/composer/vendor/bin. Utilisez toujours ce que la commande affiche chez vous, pas ce que dit un tutoriel.

Le dossier peut ne pas exister encore

Tant qu’aucun paquet global n’est installé, le chemin est correct mais le dossier est absent. C’est sans conséquence : ajouter au PATH un dossier inexistant ne provoque pas d’erreur, et il sera créé au premier composer global require.

Ajouter le dossier au PATH avec zsh

zsh est le shell par défaut de macOS depuis Catalina. Le fichier à modifier est ~/.zshrc :

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

Remplacez le chemin par celui que la commande précédente vous a renvoyé. Le source applique le changement à la session en cours, sans lui, il ne prendra effet que dans un nouveau terminal.

Vérifiez :

bash
which laravel
laravel --version

Et si vous utilisez bash

Sur macOS Mojave et antérieurs, ou si vous avez délibérément conservé bash, le fichier est ~/.bash_profile :

bash
echo 'export PATH="$HOME/.composer/vendor/bin:$PATH"' >> ~/.bash_profile
source ~/.bash_profile
~/.bashrc n’est pas lu au démarrage sur macOS

C’est l’erreur classique, et elle figurait dans la version précédente de cet article. Sur macOS, le Terminal ouvre un login shell, qui lit ~/.bash_profile et non ~/.bashrc. Une ligne ajoutée dans ~/.bashrc ne sera jamais appliquée, ce qui donne l’impression que la manipulation ne fonctionne pas.

Pour savoir quel shell vous utilisez :

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

Si la commande reste introuvable

Trois vérifications dans l’ordre. D’abord, le PATH contient-il vraiment le dossier :

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

Ensuite, l’exécutable est-il présent :

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

S’il est absent, l’installation globale a échoué. Relancez-la et lisez la sortie : un conflit de version de PHP est la cause la plus fréquente.

Enfin, si Composer lui-même est introuvable, c’est le même problème un cran plus bas. Sur macOS, l’installation la plus simple passe par Homebrew :

bash
brew install composer

Sur un serveur, la question ne se pose pas dans les mêmes termes : voyez l’installation de Composer sur Debian.

L’alternative qui supprime le problème

Laravel Herd installe PHP, Composer et l’installateur Laravel dans un environnement géré, et se charge lui-même du PATH. Pour un poste de développement macOS monté de zéro, c’est le chemin le plus court : il n’y a plus de fichier de configuration de shell à toucher.

Si vous travaillez déjà avec une installation Homebrew que vous maîtrisez, la manipulation du PATH décrite plus haut reste parfaitement valable.

Erreurs fréquentes

Écrire dans ~/.bashrc sur macOS Le Terminal ouvre un login shell, qui lit ~/.bash_profile. Une ligne ajoutée dans ~/.bashrc n’est jamais appliquée.
Recopier un chemin trouvé dans un tutoriel Composer choisit son dossier selon le système et les variables d’environnement. Seul composer global config bin-dir --absolute donne le bon chemin sur votre poste.
Oublier composer global require laravel/installer La commande laravel n’est pas fournie avec Composer. Sans elle, aucun réglage de PATH ne la fera apparaître.
Modifier le PATH sans recharger Les changements ne s’appliquent qu’aux nouvelles sessions, sauf à lancer source sur le fichier modifié.

ComposerLaravelmacOSPHP

Damien Flandrin Développeur web depuis 2010, créateur de Gekkode et d’Email Impact. Chaque article est testé sur un projet réel avant publication. Contact
Newsletter

Les nouveaux tests, tutoriels et projets, par e-mail.

Tests reproductibles, code versionné, résultats datés. Jamais de spam.