
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 :
zsh: command not found: laravelLe 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 :
composer global require laravel/installerSi 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 :
composer global config bin-dir --absolute/Users/gekkode/.composer/vendor/binC’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.
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 :
echo 'export PATH="$HOME/.composer/vendor/bin:$PATH"' >> ~/.zshrc
source ~/.zshrcRemplacez 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 :
which laravel
laravel --versionEt 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 :
echo 'export PATH="$HOME/.composer/vendor/bin:$PATH"' >> ~/.bash_profile
source ~/.bash_profileC’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 :
echo $SHELL
# /bin/zsh → ~/.zshrc
# /bin/bash → ~/.bash_profileSi la commande reste introuvable
Trois vérifications dans l’ordre. D’abord, le PATH contient-il vraiment le dossier :
echo $PATH | tr ':' '\n' | grep composerEnsuite, l’exécutable est-il présent :
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 :
brew install composerSur 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
~/.bash_profile. Une ligne ajoutée dans ~/.bashrc n’est jamais appliquée.composer global config bin-dir --absolute donne le bon chemin sur votre poste.source sur le fichier modifié.

