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

# Instalar PHP, Composer y Node.js con Homebrew (macOS)

> Guía paso a paso para instalar PHP, Composer y Node.js con Homebrew en macOS y preparar un entorno de desarrollo para Laravel.

## Introducción

El equipo de Laravel ofrece [Herd](https://herd.laravel.com/) y `php.new` para principiantes, pero los ingenieros senior prefieren gestionar cada herramienta por separado con un gestor de paquetes. Puedes controlar tú mismo las versiones y también es fácil alternar diferentes versiones de PHP entre proyectos.

En esta guía se explica cómo instalar PHP, Composer y Node.js (mediante nvm) usando **Homebrew** hasta llegar al punto en que `laravel new` funcione.

<Info>
  Entorno objetivo: macOS 13 Ventura o superior. Compatible tanto con Apple Silicon (M1/M2/M3) como con Intel.
</Info>

***

## Instalación de Homebrew

Homebrew es el gestor de paquetes para macOS. Si aún no lo tienes instalado, ejecuta lo siguiente en la terminal.

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

Tras la instalación, en Apple Silicon se añade automáticamente la siguiente línea al archivo de configuración del shell (`~/.zprofile`, etc.). Si la añades manualmente, recarga la configuración.

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

Verifica la instalación.

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

***

## Instalación de PHP

<Steps>
  <Step title="Instala la última versión de PHP">
    La fórmula `php` de Homebrew apunta siempre a la última versión estable. Laravel 13 requiere PHP 8.3 o superior.

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

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

    Si se muestra `PHP 8.3.x` o superior, la instalación es correcta.
  </Step>

  <Step title="(Opcional) Usar una versión específica">
    Si quieres gestionar varias versiones de PHP, instala fórmulas con versión.

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

    Para cambiar de versión se utiliza `brew link`.

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

    Comprueba la versión actualmente enlazada.

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

***

## Instalación de Composer

<Steps>
  <Step title="Instala Composer">
    Puedes instalarlo directamente desde Homebrew.

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

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

  <Step title="Configura la ruta de la instalación global">
    Añade `~/.composer/vendor/bin` al `PATH` para poder usar paquetes instalados con `composer global require` (como el instalador de Laravel).

    Añade la siguiente línea a `~/.zshrc` (o `~/.bashrc`).

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

    Aplica la configuración.

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

***

## Instalación de nvm

Node.js se instala por usuario mediante nvm (Node Version Manager). Como se puede gestionar sin permisos de `root`, encaja bien con herramientas de IA o CLIs que usan paquetes npm globales.

<Steps>
  <Step title="Instala nvm">
    El script de instalación más reciente se puede consultar en el [repositorio de GitHub de 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="Añade líneas al archivo de configuración del shell">
    El script de instalación añade automáticamente lo siguiente a `~/.zshrc` (o `~/.bashrc`). Si no se añade, hazlo 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"
    ```

    Aplica la configuración.

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

  <Step title="Verifica la instalación">
    ```bash theme={null}
    nvm --version
    ```
  </Step>
</Steps>

***

## Instalación de Node.js

<Steps>
  <Step title="Instala la versión LTS">
    ```bash theme={null}
    nvm install --lts
    ```
  </Step>

  <Step title="Establece como predeterminada">
    Para que se use automáticamente también en sesiones de terminal nuevas, establece la versión por defecto.

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

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

***

## Verificar la instalación de Laravel

<Steps>
  <Step title="Instala el instalador de Laravel">
    ```bash theme={null}
    composer global require laravel/installer
    ```
  </Step>

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

    Se inicia una configuración interactiva. Podrás elegir starter kit, autenticación, etc.
  </Step>

  <Step title="Arranca el servidor de desarrollo">
    ```bash theme={null}
    cd my-app
    php artisan serve
    ```

    Accede en el navegador a `http://localhost:8000`; si aparece la página de bienvenida de Laravel, ya está listo.
  </Step>
</Steps>

***

## Cómo elegir entre Homebrew y Herd

|                              | Configuración manual con Homebrew                                          | Herd                                                                    |
| ---------------------------- | -------------------------------------------------------------------------- | ----------------------------------------------------------------------- |
| **Público objetivo**         | Desarrolladores que quieren controlar al detalle versiones y configuración | Principiantes o desarrolladores individuales que quieren empezar rápido |
| **Cambio de versión de PHP** | Manual con `brew link`                                                     | Cambio sencillo mediante GUI                                            |
| **Dominio local**            | Edición manual de `/etc/hosts`                                             | Configura automáticamente el dominio `.test`                            |
| **Gestión de servicios**     | `brew services`                                                            | Arranque y parada desde la GUI                                          |
| **Personalización**          | Alta                                                                       | Limitada                                                                |

Si quieres alinear la configuración con el desarrollo en equipo o con entornos CI, o si cambias frecuentemente entre múltiples versiones de PHP, la configuración manual con Homebrew es la más adecuada.


## Related topics

- [Instalar PHP, Composer y Node.js con WSL (Windows)](/es/blog/windows-setup.md)
- [Instalación](/es/installation.md)
- [Laravel Sail](/es/sail.md)
- [Empaquetar Copilot CLI](/es/packages/laravel-copilot-sdk/bundle-cli.md)
- [Laravel Reverb](/es/reverb.md)
