Risolvere l’errore « laravel: command not found » su macOS

Risolvere l’errore « laravel: command not found » su macOS
Risposta rapida

Installa prima l'installer con composer global require laravel/installer, poi chiedi a Composer dove mette i suoi eseguibili: composer global config bin-dir --absolute. Aggiungi quel percorso al tuo PATH in ~/.zshrc, poi lancia source ~/.zshrc. Su macOS con bash il file è ~/.bash_profile, mai ~/.bashrc.

Digiti laravel new mio-progetto e il terminale risponde:

code
zsh: command not found: laravel

Il problema non è quasi mai Laravel. È che l’eseguibile installato da Composer si trova in una cartella che la tua shell non consulta. Devi quindi trovare quella cartella e aggiungerla al PATH.

Articolo del percorso Sviluppo web. Procedura verificata il 2 settembre 2026 su macOS 26.5.1 con Composer 2.9.5 e zsh.

Prima di tutto: l’installer è installato?

Il comando laravel non arriva insieme a Composer, si installa a parte:

bash
composer global require laravel/installer

Se non l’hai mai lanciato, nessuna configurazione del PATH farà comparire il comando. Nota che puoi tranquillamente farne a meno: composer create-project laravel/laravel mio-progetto fa la stessa cosa senza installer globale.

Trovare la cartella giusta, senza tirare a indovinare

La maggior parte dei tutorial ti fa copiare $HOME/.composer/vendor/bin. Spesso è corretto, ma non sempre: Composer sceglie la propria cartella personale in base al sistema e alle variabili d’ambiente presenti. Invece di scommettere, chiediglielo:

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

Questo è il risultato ottenuto su macOS 26.5.1. Su un’installazione configurata per seguire le convenzioni XDG, il comando può restituire ~/.config/composer/vendor/bin. Usa sempre quello che il comando mostra sulla tua macchina, non quello che dice un tutorial.

La cartella può non esistere ancora

Finché non è installato nessun pacchetto globale, il percorso è corretto ma la cartella è assente. Non ha alcuna conseguenza: aggiungere al PATH una cartella inesistente non provoca errori, e verrà creata al primo composer global require.

Aggiungere la cartella al PATH con zsh

zsh è la shell predefinita di macOS da Catalina. Il file da modificare è ~/.zshrc:

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

Sostituisci il percorso con quello restituito dal comando precedente. Il source applica la modifica alla sessione in corso, senza, avrà effetto solo in un nuovo terminale.

Verifica:

bash
which laravel
laravel --version

E se usi bash

Su macOS Mojave e precedenti, o se hai deliberatamente mantenuto bash, il file è ~/.bash_profile:

bash
echo 'export PATH="$HOME/.composer/vendor/bin:$PATH"' >> ~/.bash_profile
source ~/.bash_profile
~/.bashrc non viene letto all’avvio su macOS

È l’errore classico, e compariva nella versione precedente di questo articolo. Su macOS il Terminale apre una login shell, che legge ~/.bash_profile e non ~/.bashrc. Una riga aggiunta in ~/.bashrc non verrà mai applicata, il che dà l’impressione che la procedura non funzioni.

Per sapere quale shell stai usando:

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

Se il comando resta introvabile

Tre verifiche, in ordine. Prima di tutto, il PATH contiene davvero la cartella:

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

Poi, l’eseguibile è presente:

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

Se è assente, l’installazione globale è fallita. Rilanciala e leggi l’output: un conflitto di versione di PHP è la causa più frequente.

Infine, se è Composer stesso a essere introvabile, è lo stesso problema un gradino più in basso. Su macOS l’installazione più semplice passa da Homebrew:

bash
brew install composer

Su un server la questione non si pone negli stessi termini: vedi l’installazione di Composer su Debian.

L’alternativa che elimina il problema

Laravel Herd installa PHP, Composer e l’installer di Laravel in un ambiente gestito, e si occupa da solo del PATH. Per una postazione di sviluppo macOS montata da zero è la strada più breve: non c’è più nessun file di configurazione della shell da toccare.

Se lavori già con un’installazione Homebrew che conosci bene, la manipolazione del PATH descritta sopra resta perfettamente valida.

Errori frequenti

Scrivere in ~/.bashrc su macOS Il Terminale apre una login shell, che legge ~/.bash_profile. Una riga aggiunta in ~/.bashrc non viene mai applicata.
Copiare un percorso trovato in un tutorial Composer sceglie la sua cartella in base al sistema e alle variabili d'ambiente. Solo composer global config bin-dir --absolute dà il percorso giusto sulla tua macchina.
Dimenticare composer global require laravel/installer Il comando laravel non è fornito con Composer. Senza di esso nessuna configurazione del PATH lo farà comparire.
Modificare il PATH senza ricaricare Le modifiche si applicano solo alle nuove sessioni, a meno di lanciare source sul file modificato.

ComposerLaravelmacOSPHP

Damien Flandrin Sviluppatore web dal 2010, creatore di Gekkode e di Email Impact. Ogni articolo è testato su un progetto reale prima della pubblicazione. Contatti
Newsletter

I nuovi test, tutorial e progetti, via e-mail.

Test riproducibili, codice versionato, risultati datati. Mai spam.