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

# PHP, Composer und Node.js mit Homebrew installieren (macOS)

> Schritt-für-Schritt-Anleitung zur Installation von PHP, Composer und Node.js mit Homebrew unter macOS und zur Einrichtung der Laravel-Entwicklungsumgebung.

## Einleitung

Das Laravel-Team stellt für Einsteiger [Herd](https://herd.laravel.com/) sowie `php.new` bereit; Senior Engineers bevorzugen jedoch häufig, die einzelnen Werkzeuge separat mit einem Paketmanager zu verwalten. So kontrollieren Sie Versionen selbst und wechseln in mehreren Projekten leicht zwischen unterschiedlichen PHP-Versionen.

Dieser Leitfaden erklärt, wie Sie PHP, Composer und Node.js (via nvm) mit **Homebrew** installieren, bis `laravel new` läuft.

<Info>
  Zielumgebung: macOS 13 Ventura oder höher. Läuft sowohl auf Apple Silicon (M1/M2/M3) als auch auf Intel.
</Info>

***

## Homebrew installieren

Homebrew ist ein Paketmanager für macOS. Falls noch nicht installiert, führen Sie folgenden Befehl im Terminal aus:

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

Bei Apple Silicon wird nach der Installation automatisch die folgende Zeile in eine Shell-Konfigurationsdatei (z. B. `~/.zprofile`) eingetragen. Falls Sie sie manuell hinzufügen, laden Sie die Konfiguration neu.

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

Überprüfen Sie die Installation:

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

***

## PHP installieren

<Steps>
  <Step title="Aktuelles PHP installieren">
    Die `php`-Formel von Homebrew verweist stets auf die aktuelle stabile Version. Laravel 13 benötigt PHP 8.3 oder höher.

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

  <Step title="Version prüfen">
    ```bash theme={null}
    php --version
    ```

    Erscheint `PHP 8.3.x` oder höher, war die Installation erfolgreich.
  </Step>

  <Step title="(Optional) Eine bestimmte Version verwenden">
    Wenn Sie mehrere PHP-Versionen verwalten möchten, installieren Sie eine versionierte Formel.

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

    Wechseln Sie die Version mit `brew link`.

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

    Prüfen Sie die aktuell verknüpfte Version.

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

***

## Composer installieren

<Steps>
  <Step title="Composer installieren">
    Die Installation ist direkt über Homebrew möglich.

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

  <Step title="Version prüfen">
    ```bash theme={null}
    composer --version
    ```
  </Step>

  <Step title="Pfad für globale Installationen einrichten">
    Damit Pakete, die Sie per `composer global require` installieren (z. B. der Laravel-Installer), nutzbar sind, ergänzen Sie `~/.composer/vendor/bin` in `PATH`.

    Fügen Sie in `~/.zshrc` (oder `~/.bashrc`) Folgendes ein:

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

    Konfiguration übernehmen:

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

***

## nvm installieren

Node.js wird pro Benutzer per nvm (Node Version Manager) installiert. Ohne `root`-Rechte lässt es sich sauber verwalten und harmoniert gut mit KI-Tools oder CLIs, die auf globale npm-Pakete zugreifen.

<Steps>
  <Step title="nvm installieren">
    Das aktuelle Installations-Skript finden Sie im [nvm-GitHub-Repository](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="Shell-Konfiguration ergänzen">
    Das Installations-Skript ergänzt in `~/.zshrc` (oder `~/.bashrc`) automatisch Folgendes. Falls nicht, tragen Sie es manuell ein.

    ```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"
    ```

    Übernehmen Sie die Konfiguration:

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

  <Step title="Installation prüfen">
    ```bash theme={null}
    nvm --version
    ```
  </Step>
</Steps>

***

## Node.js installieren

<Steps>
  <Step title="LTS-Version installieren">
    ```bash theme={null}
    nvm install --lts
    ```
  </Step>

  <Step title="Als Default setzen">
    Damit die Version auch in neuen Terminal-Sessions verwendet wird, setzen Sie die Default-Version.

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

  <Step title="Version prüfen">
    ```bash theme={null}
    node --version
    npm --version
    ```
  </Step>
</Steps>

***

## Laravel-Installation prüfen

<Steps>
  <Step title="Laravel-Installer einrichten">
    ```bash theme={null}
    composer global require laravel/installer
    ```
  </Step>

  <Step title="Neues Projekt anlegen">
    ```bash theme={null}
    laravel new my-app
    ```

    Das interaktive Setup startet. Sie können Starterkits und Authentifizierungsoptionen auswählen.
  </Step>

  <Step title="Entwicklungsserver starten">
    ```bash theme={null}
    cd my-app
    php artisan serve
    ```

    Öffnen Sie im Browser `http://localhost:8000`. Erscheint die Laravel-Welcome-Seite, ist alles bereit.
  </Step>
</Steps>

***

## Wann Homebrew, wann Herd?

|                             | Manueller Aufbau mit Homebrew                                        | Herd                                                          |
| --------------------------- | -------------------------------------------------------------------- | ------------------------------------------------------------- |
| **Zielgruppe**              | Entwickler, die Versionen und Konfiguration granular steuern möchten | Einsteiger und Einzelentwickler, die schnell loslegen möchten |
| **Wechsel der PHP-Version** | Manuell per `brew link`                                              | Einfacher Wechsel per GUI                                     |
| **Lokale Domains**          | Manuelles Editieren von `/etc/hosts`                                 | Automatische Einrichtung von `.test`-Domains                  |
| **Dienstverwaltung**        | `brew services`                                                      | Starten/Stoppen per GUI                                       |
| **Anpassbarkeit**           | Hoch                                                                 | Eingeschränkt                                                 |

Wenn Sie Team- oder CI-Konfigurationen angleichen wollen oder häufig zwischen mehreren PHP-Versionen wechseln, ist der manuelle Aufbau mit Homebrew die passende Wahl.


## Related topics

- [PHP, Composer und Node.js mit WSL installieren (Windows)](/de/blog/windows-setup.md)
- [Laravel Sail](/de/sail.md)
- [Vue.js – Einstieg mit Inertia × Laravel](/de/blog/vue-introduction.md)
- [Installation](/de/installation.md)
- [Laravel Reverb](/de/reverb.md)
