# Desinstalar Homebrew con el script oficial

> Ejecuta primero el script oficial con --dry-run, exporta fórmulas y casks, luego limpia restos del PATH del shell y fallos habituales

Published: 2026-08-04 | Updated: 2026-09-25

Homebrew incluye un desinstalador oficial, y hace lo que dice. La sorpresa es el alcance: elimina Homebrew y elimina lo que Homebrew instaló. El peso de esos dos hechos cambia según por qué estás aquí.

Si solo necesitas espacio en disco, comprueba cuánto usa Homebrew antes de quitarlo. Si una sola formula falla, desinstalar todo el entorno es innecesario.

Antes de seguir, anota `brew leaves` y la lista de casks. Luego ejecuta el desinstalador oficial con `--dry-run` y lee el alcance como si fuera un plan de borrado. Si el problema es un solo paquete, detente aquí y usa `brew uninstall`, o sigue la [ruta más segura de limpieza de Homebrew](https://mole.fit/es/blog/how-to-clean-up-homebrew-mac).

## Cuándo no debes desinstalar Homebrew

Omite la opción nuclear si encaja alguno de estos casos:

- Una formula o un cask está roto: usa `brew uninstall <name>` y luego `brew autoremove` si quedan dependencias huérfanas.
- Solo necesitas espacio: `brew cleanup -s` borra versiones antiguas y descargas sin eliminar el prefijo.
- Todavía necesitas `git`, `node`, `python`, servidores de bases de datos o herramientas CLI que vinieron de Homebrew. El desinstalador se lleva Cellar y Caskroom.
- Planeas reinstalar el mismo conjunto mañana en el mismo Mac. Exporta las listas de abajo, limpia con `brew cleanup` y conserva la instalación.

Desinstala cuando dejas Homebrew de forma definitiva, migras a un prefijo limpio tras una instalación rota, o vacías una máquina donde ya no quieres ninguno de esos paquetes.

## Conoce tu prefijo: Intel, Apple Silicon y restos de Rosetta

El prefijo predeterminado de Homebrew depende del chip:

| Mac | Prefijo predeterminado | Binario `brew` |
| --- | --- | --- |
| Apple Silicon | `/opt/homebrew` | `/opt/homebrew/bin/brew` |
| Intel | `/usr/local` | `/usr/local/bin/brew` |

Confirma lo que realmente tienes antes de borrar nada:

```
uname -m
brew --prefix
which brew
```

`arm64` es Apple Silicon. `x86_64` es Intel (o un terminal Rosetta). En un Mac Apple Silicon migrado, un Homebrew Intel antiguo bajo `/usr/local` puede seguir existiendo junto a `/opt/homebrew`. El script oficial de desinstalación busca el valor predeterminado de tu máquina y, en `arm64`, también considera `/usr/local` para no pasar por alto un prefijo Intel sobrante. Si mantienes dos prefijos a propósito, pasa `--path` para quitar el que pretendes.

No borres a mano todo `/usr/local` en Intel. Ese directorio se comparte con otro software. Usa el script oficial, que apunta a los árboles propios de Homebrew.

## El desinstalador oficial

La [FAQ](https://docs.brew.sh/FAQ#how-do-i-uninstall-homebrew) de Homebrew apunta al script de desinstalación del repositorio Homebrew/install. Prefiere copiar el comando desde esa página si Homebrew lo cambia algún día. El one-liner actual es:

```
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)"
```

Si quieres leer el script antes de ejecutarlo, descárgalo primero:

```
curl -O https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh
less uninstall.sh
/bin/bash uninstall.sh --help
```

Opciones útiles:

- `--dry-run` (también `-n`): imprime lo que se eliminaría y no cambia nada. Empieza aquí en una máquina que te importe.
- `--path=PATH`: desinstalar un prefijo concreto (por ejemplo `/usr/local` en Apple Silicon tras una instalación de la era Rosetta).
- `--force`: omite el aviso de confirmación (también implícito cuando `NONINTERACTIVE` está definido).
- `--skip-cache-and-logs`: deja en paz los directorios de caché y registros.

Ignora el gist antiguo de mxcl y cualquier guía que aún diga que hagas `cd $(brew --prefix)` y borres con `git ls-files`. Ese flujo apuntaba al diseño temprano de `/usr/local` y es inseguro en instalaciones modernas.

## Qué elimina realmente el script

El desinstalador quita el prefijo de Homebrew y los directorios debajo: `bin`, `etc`, `include`, `lib`, `opt`, `sbin`, `share`, `var`, `Frameworks`, y tanto `Cellar` como `Caskroom`.

Esos dos últimos son el punto. Cellar es donde viven los archivos de cada formula, y Caskroom donde viven los metadatos de los casks. Quitar Homebrew los quita, así que cada herramienta de línea de comandos instalada a través de él desaparece a la vez.

También limpia `~/Library/Caches/Homebrew` y `~/Library/Logs/Homebrew`, la caché de Homebrew a nivel de sistema, `/etc/paths.d/homebrew`, y las apps gestionadas por Homebrew en `/Applications` y `~/Applications`.

<figure class="blog-diagram">
  <img src="https://mole.fit/img/blog/homebrew-uninstall-scope.webp" width="1360" height="454" loading="lazy" alt="El desinstalador elimina el prefijo de Homebrew, incluidos Cellar y Caskroom, junto con cachés y registros, mientras la configuración escrita por los paquetes y las líneas del perfil de shell permanecen.">
  <figcaption>El script se lleva los paquetes, no solo el gestor. Lo que deja es la configuración que escribieron esos paquetes y las líneas que añadiste al perfil de shell.</figcaption>
</figure>

## Anota lo que tienes antes de quitarlo

Exporta el inventario antes de desinstalar con estos dos comandos:

```
brew leaves > ~/Desktop/brew-formulae.txt
brew list --cask > ~/Desktop/brew-casks.txt
```

`brew leaves` lista las formulas de las que no depende ninguna otra formula o cask instalado. Es un punto de partida útil, no un registro completo de todo lo que instalaste de forma explícita. Revisa estos dos archivos antes de usarlos para reconstruir tu entorno.

Revisa los datos de los paquetes aparte de los archivos de los paquetes. La configuración en tu directorio personal puede permanecer, pero una base Postgres bajo `/opt/homebrew/var` o `/usr/local/var` sigue dentro del prefijo de Homebrew. El desinstalador elimina `var`, así que los datos allí pueden irse con él. Haz una copia de seguridad fuera del prefijo de lo que necesites antes de desinstalar. Detén primero los servicios si los usas:

```
brew services list
brew services stop --all
```

## Opcional: quitar primero formulas y casks

Si quieres un desmontaje por etapas en lugar de una pasada nuclear, desinstala paquetes mientras `brew` aún funciona:

```
brew list --formula
brew uninstall --force $(brew list --formula)
brew list --cask
brew uninstall --cask --force $(brew list --cask)
brew autoremove
brew cleanup -s
```

Eso vacía Cellar y Caskroom pero deja la instalación de Homebrew. Úsalo cuando no estés seguro de los datos bajo `var`, o cuando quieras liberar espacio de paquetes y conservar `brew` para un conjunto de herramientas más pequeño más adelante. Cuando hayas terminado con Homebrew en sí, ejecuta igualmente el desinstalador oficial para que el prefijo, los taps y las cachés desaparezcan limpiamente.

## Ejecutar la desinstalación

1. Ejecuta con `--dry-run` y lee cada ruta.
2. Ejecuta sin `--dry-run`, escribe `y` cuando te lo pidan e introduce tu contraseña de macOS si `sudo` es necesario para directorios protegidos.
3. Copia cualquier lista de «possible Homebrew files were not deleted» del terminal antes de cerrar la ventana.

Ejemplo de dry-run tras descargar el script:

```
/bin/bash uninstall.sh --dry-run
```

O con el one-liner remoto: descarga primero para poder pasar opciones sin anidar comillas de forma torpe, y luego ejecuta `/bin/bash uninstall.sh`.

## Lista de comprobación de archivos sobrantes

Cuando el script termina puede indicar que algunos posibles archivos de Homebrew no se eliminaron y que quizá quieras quitarlos tú, seguido de la lista.

Ese es el único lugar donde se nombran esas rutas. Suele deberse a permisos en directorios que Homebrew no creó, y la lista es corta. Cópiala antes de cerrar el terminal, porque volver a ejecutar el desinstalador en una instalación ya eliminada no la volverá a producir.

Los restos típicos están bajo el prefijo que acabas de quitar:

- Apple Silicon: `/opt/homebrew/etc`, `share`, `var`, `Frameworks` y directorios vacíos o con propiedad parcial similares
- Intel: los mismos nombres bajo `/usr/local`, pero nunca borres árboles ajenos de `/usr/local` a ojo

Si el script nombró una ruta y confirmaste que es solo de Homebrew, elimínala de forma explícita (espacio después de `-rf`):

```
sudo rm -rf /opt/homebrew/share
```

Luego verifica:

```
ls /opt/homebrew
ls /usr/local/Homebrew
ls ~/Library/Caches/Homebrew
ls ~/Library/Logs/Homebrew
```

Espera «No such file or directory» cuando esas ubicaciones hayan desaparecido. Si `/opt/homebrew` o un árbol solo de Homebrew sigue existiendo y el script ya terminó, `sudo rm -rf` en esa ruta es la limpieza habitual. Comprueba dos veces la ruta antes de pulsar Return.

La configuración de paquetes fuera del prefijo suele quedarse a propósito: `~/.gitconfig`, gestores de versiones de lenguajes, carpetas de soporte de apps bajo `~/Library` y bases de datos que sacaste de `var`. Eso no es el prefijo de Homebrew. Quítalas solo cuando sepas a qué pertenecen.

## Tu perfil de shell aún lo menciona

El desinstalador no edita `.zprofile`, `.zshrc`, `.zshenv`, `.zlogin` ni `.bash_profile`. La línea que el instalador de Homebrew suele añadir se parece a:

```
eval "$(/opt/homebrew/bin/brew shellenv)"
```

En Macs Intel el PATH predeterminado ya incluye `/usr/local/bin`, así que muchas instalaciones nunca necesitaron esa línea. En Apple Silicon es necesaria para encontrar `brew`, y tras la desinstalación cada shell nuevo intenta ejecutar un binario que ya no existe.

Busca y elimina `brew shellenv` (y cualquier exportación PATH a `/opt/homebrew/bin` o `/usr/local/bin` añadida a mano que ya no quieras):

```
grep -n "brew shellenv\|/opt/homebrew\|/usr/local/bin" ~/.zprofile ~/.zshrc ~/.zshenv ~/.zlogin ~/.bash_profile ~/.bashrc 2>/dev/null
```

Abre después una pestaña nueva del terminal. Si el aviso desapareció y `which brew` no imprime nada, la limpieza del PATH está hecha. Deja la línea solo si planeas reinstalar de inmediato.

## Modos de fallo habituales

**Permission denied en restos.** El script listó rutas pero no pudo borrarlas. Usa `sudo rm -rf` en cada ruta nombrada, con un espacio entre `-rf` y la ruta. `rm -rf/opt/...` falla con `illegal option` porque la ruta se interpretó como opciones.

**Desinstalación parcial / «Homebrew is already installed».** Un intento anterior dejó `.git`, `Cellar` o `bin/brew`. Vuelve a ejecutar el script oficial con el `--path` correcto, o elimina el prefijo sobrante que indique el script, y luego reinstala desde la documentación de instalación de Homebrew si aún lo quieres.

**`brew: command not found` tras una limpieza a medias.** O la desinstalación terminó y el PATH sigue apuntando al prefijo antiguo (arregla la línea del shell), o se quitó `brew` mientras quedan paquetes. No persigas el gist clásico. Usa el script oficial con `--path` si aún existe un directorio de prefijo.

**Prefijo incorrecto en Apple Silicon.** Quitaste `/opt/homebrew` pero las herramientas de la era Rosetta siguen bajo `/usr/local`. Ejecuta el script con `--path=/usr/local` tras confirmar que ese árbol es de Homebrew, no una mezcla de software ajeno.

**Servicios e ítems de inicio siguen llamando a binarios ausentes.** Detén `brew services` antes de desinstalar cuando puedas. Después, revisa los ítems de inicio y cualquier LaunchAgent que aún referencie `/opt/homebrew` o `/usr/local/Cellar`.

**Entradas de blog antiguas y el gist de 2011.** Las guías que borran con `git ls-files` y `pbcopy` pertenecen a un diseño anterior de Homebrew. Prefiere solo `https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh`.

## Valora si te basta la operación más pequeña

Para una limpieza menor, `brew cleanup` quita versiones antiguas y descargas en caché, `brew uninstall <formula>` quita un paquete y `brew autoremove` quita dependencias sin uso. En la [vista Analyze de Mole](https://mole.fit/es/mac-disk-analyzer), escanea la carpeta de Homebrew antes de la limpieza y otra vez después para comparar su tamaño. Mole no rastrea automáticamente los cambios hechos por estos comandos.

## Reconstrucción a partir de la lista exportada

Cuando Homebrew esté instalado en la máquina nueva, dos comandos restauran lo que tenías:

```
xargs brew install < brew-formulae.txt
xargs brew install --cask < brew-casks.txt
```

Se mantienen separados porque los casks necesitan `--cask`, y una lista mezclada falla en la mitad de sus entradas.

`brew list` incluye dependencias, así que reproducir la lista entera marca esos paquetes como solicitados de forma explícita y cambia lo que `brew autoremove` podrá quitar después. `brew leaves` evita gran parte de eso, pero no es lo mismo que tu historial de paquetes solicitados: un paquete que elegiste también puede ser requerido por otro. Revisa la lista y añade las herramientas que aún necesites antes de reinstalar.

## Preguntas frecuentes

### ¿Desinstalar Homebrew elimina todos los paquetes que instaló?

Sí para todo lo que siga dentro de Cellar y Caskroom. El script oficial elimina el prefijo, así que formulas y metadatos de casks se van con él. La configuración y los datos fuera del prefijo pueden permanecer.

### ¿Cuál es la diferencia entre `/opt/homebrew` y `/usr/local`?

`/opt/homebrew` es el valor predeterminado en Apple Silicon. `/usr/local` es el valor predeterminado en Intel, y también puede contener un Homebrew Rosetta antiguo en un Mac migrado. Comprueba siempre `brew --prefix` antes de borrar.

### ¿Debo desinstalar cada formula antes de ejecutar el script de desinstalación?

Solo si quieres una limpieza por etapas o necesitas inspeccionar primero los datos de `var`. El script ya elimina los paquetes instalados en el prefijo. Exporta tus listas de cualquier forma si podrías reinstalar más adelante.

### ¿Por qué quedan directorios después de desinstalar?

Los permisos o directorios que Homebrew no creó pueden bloquear el borrado. El script imprime esas rutas una sola vez. Elimínalas con `sudo` solo cuando las reconozcas como restos de Homebrew.

### ¿Es seguro borrar todo `/usr/local`?

No. En Macs Intel esa carpeta es compartida. Usa el script oficial de desinstalación y luego elimina solo las rutas que nombre si queda algo.

### Sigo viendo errores de brew shellenv en cada terminal nuevo. ¿Qué hago?

Quita la línea `eval "$(...brew shellenv)"` de tus archivos de inicio de zsh o bash y abre una pestaña nueva. El desinstalador no edita esos archivos por ti.

---

Canonical HTML page: https://mole.fit/es/blog/how-to-uninstall-homebrew-mac
Blog index for agents: https://mole.fit/es/blog/llms.txt
Site index for agents: https://mole.fit/llms.txt
