> ## Documentation Index
> Fetch the complete documentation index at: https://kawax.biz/llms.txt
> Use this file to discover all available pages before exploring further.

# Installare PHP, Composer e Node.js con Homebrew (macOS)

> Guida passo passo per installare PHP, Composer e Node.js con Homebrew su macOS e configurare l'ambiente di sviluppo Laravel.

## Introduzione

Il team di Laravel mette a disposizione [Herd](https://herd.laravel.com/) e `php.new` per chi inizia, ma gli ingegneri senior preferiscono gestire ciascuno strumento singolarmente con un package manager. Così puoi controllare tu stesso le versioni ed è facile passare da una versione di PHP all'altra tra più progetti.

Questa guida spiega come usare **Homebrew** per installare PHP, Composer e Node.js (tramite nvm) fino ad avere `laravel new` funzionante.

<Info>
  Ambiente di riferimento: macOS 13 Ventura o superiore. Compatibile sia con Apple Silicon (M1/M2/M3) sia con Intel.
</Info>

***

## Installazione di Homebrew

Homebrew è il package manager per macOS. Se non lo hai ancora installato, esegui nel terminale:

```bash theme={null}
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
```

Dopo l'installazione, su Apple Silicon la seguente riga viene aggiunta automaticamente al file di configurazione della shell (per esempio `~/.zprofile`). Se l'hai aggiunta manualmente, ricarica la configurazione.

```bash theme={null}
eval "$(/opt/homebrew/bin/brew shellenv)"
```

Verifica l'installazione.

```bash theme={null}
brew --version
```

***

## Installazione di PHP

<Steps>
  <Step title="Installa l'ultima versione di PHP">
    La formula `php` di Homebrew punta sempre all'ultima versione stabile. Laravel 13 richiede PHP 8.3 o superiore.

    ```bash theme={null}
    brew install php
    ```
  </Step>

  <Step title="Verifica la versione">
    ```bash theme={null}
    php --version
    ```

    Se viene mostrato `PHP 8.3.x` o superiore, è tutto ok.
  </Step>

  <Step title="(Facoltativo) usa una versione specifica">
    Se vuoi gestire più versioni di PHP, installa la formula con la versione.

    ```bash theme={null}
    brew install php@8.3
    ```

    Per cambiare versione usa `brew link`.

    ```bash theme={null}
    brew unlink php
    brew link php@8.3 --force --overwrite
    ```

    Verifica quale versione è attualmente linkata.

    ```bash theme={null}
    php --version
    ```
  </Step>
</Steps>

***

## Installazione di Composer

<Steps>
  <Step title="Installa Composer">
    Puoi installarlo direttamente da Homebrew.

    ```bash theme={null}
    brew install composer
    ```
  </Step>

  <Step title="Verifica la versione">
    ```bash theme={null}
    composer --version
    ```
  </Step>

  <Step title="Configura il PATH degli install globali">
    Aggiungi `~/.composer/vendor/bin` al `PATH` per poter usare i pacchetti installati con `composer global require` (come l'installer di Laravel).

    Aggiungi la riga seguente in `~/.zshrc` (o `~/.bashrc`).

    ```bash theme={null}
    export PATH="$HOME/.composer/vendor/bin:$PATH"
    ```

    Applica la configurazione.

    ```bash theme={null}
    source ~/.zshrc
    ```
  </Step>
</Steps>

***

## Installazione di nvm

Installa Node.js a livello utente usando nvm (Node Version Manager). Poiché non richiede privilegi di `root`, si integra bene con strumenti AI e CLI che usano pacchetti npm globali.

<Steps>
  <Step title="Installa nvm">
    Lo script di installazione più recente lo trovi sul [repository GitHub di nvm](https://github.com/nvm-sh/nvm).

    ```bash theme={null}
    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
    ```
  </Step>

  <Step title="Aggiungi le righe alla configurazione della shell">
    Lo script di installazione aggiunge automaticamente a `~/.zshrc` (o `~/.bashrc`) quanto segue. Se non è stato aggiunto, fallo manualmente.

    ```bash theme={null}
    export NVM_DIR="$HOME/.nvm"
    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
    [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
    ```

    Applica la configurazione.

    ```bash theme={null}
    source ~/.zshrc
    ```
  </Step>

  <Step title="Verifica l'installazione">
    ```bash theme={null}
    nvm --version
    ```
  </Step>
</Steps>

***

## Installazione di Node.js

<Steps>
  <Step title="Installa la versione LTS">
    ```bash theme={null}
    nvm install --lts
    ```
  </Step>

  <Step title="Impostala come predefinita">
    Imposta la versione predefinita in modo che venga usata automaticamente anche nelle nuove sessioni del terminale.

    ```bash theme={null}
    nvm alias default node
    ```
  </Step>

  <Step title="Verifica le versioni">
    ```bash theme={null}
    node --version
    npm --version
    ```
  </Step>
</Steps>

***

## Verifica dell'installazione di Laravel

<Steps>
  <Step title="Installa l'installer di Laravel">
    ```bash theme={null}
    composer global require laravel/installer
    ```
  </Step>

  <Step title="Crea un nuovo progetto">
    ```bash theme={null}
    laravel new my-app
    ```

    Parte il setup interattivo. Puoi selezionare lo starter kit, l'autenticazione e altre opzioni.
  </Step>

  <Step title="Avvia il server di sviluppo">
    ```bash theme={null}
    cd my-app
    php artisan serve
    ```

    Apri `http://localhost:8000` nel browser: se vedi la pagina di benvenuto di Laravel, hai finito.
  </Step>
</Steps>

***

## Homebrew o Herd, come scegliere

|                         | Setup manuale con Homebrew                                                   | Herd                                                                 |
| ----------------------- | ---------------------------------------------------------------------------- | -------------------------------------------------------------------- |
| **Utente tipico**       | Sviluppatori che vogliono controllare in dettaglio versioni e configurazioni | Principianti o singoli sviluppatori che vogliono partire velocemente |
| **Cambio versione PHP** | Manuale con `brew link`                                                      | Cambio facile tramite GUI                                            |
| **Domini locali**       | Modifica manuale di `/etc/hosts`                                             | Impostazione automatica di domini `.test`                            |
| **Gestione servizi**    | `brew services`                                                              | Avvio/arresto da GUI                                                 |
| **Personalizzazione**   | Alta                                                                         | Limitata                                                             |

Il setup manuale con Homebrew è indicato quando vuoi allineare la configurazione con lo sviluppo di team o l'ambiente CI, o cambiare spesso tra più versioni di PHP.


## Related topics

- [Installare PHP, Composer e Node.js con WSL (Windows)](/it/blog/windows-setup.md)
- [Laravel Sail](/it/sail.md)
- [Includere Copilot CLI nel bundle](/it/packages/laravel-copilot-sdk/bundle-cli.md)
- [Installazione](/it/installation.md)
- [Guida allo sviluppo di app con l'API del motore - VOICEVOX for Laravel](/it/packages/laravel-voicevox/app-guide.md)
