# Desinstalar o Homebrew no Mac com o script oficial

> Rode o script oficial de desinstalação do Homebrew com --dry-run primeiro, exporte as listas de fórmulas e casks e depois limpe entradas de PATH que sobrarem no shell.

Published: 2026-08-04 | Updated: 2026-10-18

O Homebrew traz um desinstalador oficial, e ele faz o que diz. A surpresa é o
escopo: ele remove o Homebrew, e remove o que o Homebrew instalou, e esses dois fatos
caem de jeitos diferentes conforme o motivo de você estar aqui.

Se você só precisa de espaço em disco, confira quanto o Homebrew usa antes de removê-lo. Se uma fórmula está se comportando mal, desinstalar o ambiente inteiro é desnecessário.

Antes de ir adiante, anote `brew leaves` e a lista de casks. Depois rode o
desinstalador oficial com `--dry-run` e leia o escopo como se fosse um plano de exclusão.
Se um pacote é o problema, este é o momento de parar e usar `brew uninstall` ou
seguir o [caminho mais seguro de limpeza do Homebrew](https://mole.fit/pt-br/blog/how-to-clean-up-homebrew-mac).

## Quando você não deve desinstalar o Homebrew

Pule a opção nuclear quando qualquer destes casos servir:

- Uma fórmula ou um cask está quebrado: use `brew uninstall <name>` e depois `brew autoremove` se as dependências ficaram órfãs.
- Você só precisa de espaço: `brew cleanup -s` limpa versões antigas e downloads sem apagar o prefixo.
- Você ainda precisa de `git`, `node`, `python`, servidores de banco ou ferramentas de CLI que vieram do Homebrew. O desinstalador leva Cellar e Caskroom junto.
- Você planeja reinstalar a mesma pilha amanhã no mesmo Mac. Exporte as listas abaixo, limpe com `brew cleanup` e mantenha a instalação.

Desinstale quando estiver deixando o Homebrew de vez, migrando para um prefixo limpo depois de uma instalação quebrada, ou apagando uma máquina em que você não quer mais nenhum desses pacotes.

## Conheça o prefixo: Intel, Apple Silicon e restos do Rosetta

O prefixo padrão do Homebrew depende do chip:

| Mac | Prefixo padrão | Binário `brew` |
| --- | --- | --- |
| Apple Silicon | `/opt/homebrew` | `/opt/homebrew/bin/brew` |
| Intel | `/usr/local` | `/usr/local/bin/brew` |

Confirme o que você tem de fato antes de apagar qualquer coisa:

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

`arm64` é Apple Silicon. `x86_64` é Intel (ou um terminal em Rosetta). Num Mac Apple Silicon migrado, um Homebrew Intel antigo em `/usr/local` ainda pode existir ao lado de `/opt/homebrew`. O script oficial de desinstalação procura o padrão da sua máquina e, em `arm64`, também considera `/usr/local`, para um prefixo Intel restante não passar batido. Se você mantém dois prefixos de propósito, passe `--path` para remover o que você quer dizer.

Não apague `/usr/local` inteiro à mão no Intel. Esse diretório é compartilhado com outros programas. Use o script oficial, que mira as árvores do próprio Homebrew.

## O desinstalador oficial

O [FAQ](https://docs.brew.sh/FAQ#how-do-i-uninstall-homebrew) do Homebrew aponta para o
script de desinstalação no repositório Homebrew/install. Prefira copiar o comando dessa página se o Homebrew um dia o mudar. A linha atual é:

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

Se quiser ler o script antes de ele rodar, baixe primeiro:

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

Flags úteis:

- `--dry-run` (também `-n`): imprime o que seria removido e não muda nada. Comece aqui numa máquina que importa.
- `--path=PATH`: desinstala um prefixo específico (por exemplo `/usr/local` no Apple Silicon depois de uma instalação da era Rosetta).
- `--force`: pula o pedido de confirmação (também implícito quando `NONINTERACTIVE` está definido).
- `--skip-cache-and-logs`: deixa os diretórios de cache e de registro quietos.

Ignore o gist antigo do mxcl e qualquer guia que ainda mande `cd $(brew --prefix)` e apagar com `git ls-files`. Esse fluxo mirava o layout antigo de `/usr/local` e é inseguro em instalações modernas.

## O que o script de fato apaga

O desinstalador remove o prefixo do Homebrew e os diretórios debaixo dele: `bin`,
`etc`, `include`, `lib`, `opt`, `sbin`, `share`, `var`, `Frameworks`, e tanto
`Cellar` quanto `Caskroom`.

Esses dois últimos são o ponto. O Cellar é onde ficam os arquivos de cada fórmula, e o
Caskroom é onde fica o metadado dos casks. Remover o Homebrew os remove, então toda ferramenta
de linha de comando que você instalou por ele sai ao mesmo tempo.

Ele também limpa `~/Library/Caches/Homebrew` e `~/Library/Logs/Homebrew`, o
cache do Homebrew no nível do sistema, `/etc/paths.d/homebrew`, e apps gerenciados pelo Homebrew em
`/Applications` e `~/Applications`.

<figure class="blog-diagram">
  <img src="https://mole.fit/img/blog/homebrew-uninstall-scope.webp" width="1360" height="454" loading="lazy" alt="O desinstalador remove o prefixo do Homebrew, inclusive Cellar e Caskroom, junto com caches e registros, enquanto a configuração gravada pelos próprios pacotes e as linhas do perfil do shell permanecem.">
  <figcaption>O script leva os pacotes junto, não só o gerenciador de pacotes. O que ele deixa é a configuração que esses pacotes gravaram e as linhas que você acrescentou ao perfil do shell.</figcaption>
</figure>

## Anote o que você tem antes de remover

Exporte o inventário antes de desinstalar, com estes dois comandos:

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

`brew leaves` lista fórmulas das quais nenhuma outra fórmula ou cask instalado depende.
É uma lista inicial útil, não um registro completo de tudo que você instalou de forma explícita.
Revise esses dois arquivos antes de usá-los para reconstruir a configuração.

Confira os dados dos pacotes à parte dos arquivos dos pacotes. Configuração no seu diretório pessoal
pode permanecer, mas um banco Postgres em `/opt/homebrew/var` ou `/usr/local/var` ainda está dentro do prefixo
do Homebrew. O desinstalador remove `var`, então dados ali podem ir junto. Faça backup de qualquer dado de que
precise fora do prefixo antes de desinstalar. Pare os serviços primeiro, se você os usa:

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

## Opcional: remova fórmulas e casks primeiro

Se quiser uma desmontagem em etapas em vez de uma rodada nuclear, desinstale os pacotes enquanto o `brew` ainda 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
```

Isso esvazia Cellar e Caskroom, mas deixa a instalação do Homebrew. Use quando não tiver certeza sobre dados em `var`, ou quando quiser liberar o espaço dos pacotes e manter o `brew` para um conjunto menor de ferramentas depois. Quando terminar com o próprio Homebrew, ainda rode o desinstalador oficial para o prefixo, os taps e os caches saírem limpos.

## Rode a desinstalação

1. Rode com `--dry-run` e leia cada caminho.
2. Rode sem `--dry-run`, digite `y` quando pedir, e informe a senha do macOS se `sudo` for exigido para diretórios protegidos.
3. Copie qualquer lista de "possible Homebrew files were not deleted" do terminal antes de fechar a janela.

Exemplo de dry-run depois de baixar o script:

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

Ou, com a linha remota, baixe primeiro para passar flags sem aninhar aspas de um jeito estranho, e depois rode `/bin/bash uninstall.sh`.

## Lista do que sobrou

Quando o script termina, ele pode imprimir que alguns arquivos possíveis do Homebrew não foram apagados
e que você talvez queira removê-los você mesmo, seguido da lista.

Esse é o único lugar em que esses caminhos são nomeados. Em geral acontece por
permissões em diretórios que o Homebrew não criou, e a lista é curta. Copie-a
para algum lugar antes de fechar o terminal, porque rodar o desinstalador de novo numa
instalação já removida não vai produzi-la outra vez.

Restos típicos ficam debaixo do prefixo que você acabou de remover:

- Apple Silicon: `/opt/homebrew/etc`, `share`, `var`, `Frameworks` e diretórios vazios ou de posse parcial parecidos
- Intel: os mesmos nomes em `/usr/local`, mas nunca apague árvores de `/usr/local` sem relação por chute

Se o script nomeou um caminho e você confirmou que ele é só do Homebrew, remova-o de forma explícita (espaço depois de `-rf`):

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

Depois verifique:

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

Espere "No such file or directory" quando esses locais tiverem sumido. Se `/opt/homebrew` ou uma árvore só do Homebrew ainda existir e o script já tiver terminado, `sudo rm -rf` nesse caminho é a limpeza habitual. Confira o caminho duas vezes antes de pressionar Return.

Configuração de pacote fora do prefixo muitas vezes permanece de propósito: `~/.gitconfig`, gerenciadores de versão de linguagem, pastas de suporte de app em `~/Library` e bancos que você tirou de `var`. Isso não é o prefixo do Homebrew. Remova só quando souber a que pertencem.

## O perfil do shell ainda menciona o Homebrew

O desinstalador não edita `.zprofile`, `.zshrc`, `.zshenv`, `.zlogin` nem `.bash_profile`. A linha que o instalador do Homebrew costuma acrescentar se parece com:

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

Em Macs Intel o PATH padrão já inclui `/usr/local/bin`, então muitas instalações nunca precisaram dessa linha. No Apple Silicon ela é necessária para o `brew` ser encontrado, e depois da desinstalação todo shell novo tenta rodar um binário que não existe mais.

Procure e remova `brew shellenv` (e qualquer export de PATH acrescentado à mão para `/opt/homebrew/bin` ou `/usr/local/bin` que você não queira mais):

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

Abra uma aba nova do terminal depois. Se o aviso sumiu e `which brew` não imprime nada, a limpeza do PATH está feita. Deixe a linha só se planeja reinstalar na hora.

## Falhas comuns

**Permissão negada nos restos.** O script listou caminhos, mas não conseguiu apagá-los. Use `sudo rm -rf` em cada caminho nomeado, com um espaço entre `-rf` e o caminho. `rm -rf/opt/...` falha com `illegal option` porque o caminho foi interpretado como flags.

**Desinstalação parcial / "Homebrew is already installed".** Uma tentativa anterior deixou `.git`, `Cellar` ou `bin/brew` para trás. Rode o script oficial de desinstalação de novo com o `--path` correto, ou remova o prefixo restante que o script informa, e depois reinstale pela documentação de instalação do Homebrew se ainda quiser.

**`brew: command not found` depois de uma limpeza pela metade.** Ou a desinstalação terminou e o PATH ainda aponta para o prefixo antigo (corrija a linha do shell), ou o `brew` foi removido enquanto os pacotes permanecem. Não persiga o gist clássico. Use o script oficial com `--path` se um diretório de prefixo ainda existir.

**Prefixo errado no Apple Silicon.** Você removeu `/opt/homebrew`, mas ferramentas da era Rosetta ainda vivem em `/usr/local`. Rode o script com `--path=/usr/local` depois de confirmar que essa árvore é do Homebrew, não uma mistura de software sem relação.

**Serviços e itens de início continuam chamando binários ausentes.** Pare `brew services` antes da desinstalação, quando puder. Depois, confira Itens de Início e quaisquer LaunchAgents que ainda referenciem `/opt/homebrew` ou `/usr/local/Cellar`.

**Posts antigos e o gist de 2011.** Guias que apagam via `git ls-files` e `pbcopy` pertencem a um layout anterior do Homebrew. Prefira só `https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh`.

## Considere se você quer a operação menor

Para uma limpeza menor, `brew cleanup` remove versões antigas e downloads em cache, `brew uninstall <formula>` remove um pacote, e `brew autoremove` remove dependências sem uso. Na [visão Análise do Mole](https://mole.fit/mac-disk-analyzer), varra a pasta do Homebrew antes da limpeza e varra de novo depois para comparar o tamanho. O Mole não acompanha automaticamente as mudanças feitas por esses comandos.

## Reconstruir a partir da lista exportada

Com o Homebrew instalado na máquina nova, dois comandos restauram o que você tinha:

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

Eles ficam separados porque casks precisam de `--cask`, e uma lista misturada falha em metade
das entradas.

`brew list` inclui dependências, então repetir a lista inteira marca esses pacotes como
pedidos de forma explícita e muda o que `brew autoremove` pode remover depois. `brew leaves`
evita boa parte disso, mas não é o mesmo que o histórico de pacotes pedidos: um pacote
que você escolheu também pode ser exigido por outro. Revise a lista e acrescente as ferramentas de que
ainda precisa antes de reinstalar.

A lista do Mole para o app de Mac separado do Homebrew, inclusive o que ele deixa para o comando brew, está em [Desinstalar o app de Mac do Homebrew sem remover o comando brew](https://mole.fit/tested-apps/homebrew).

## Perguntas frequentes

### Desinstalar o Homebrew remove todos os pacotes que ele instalou?

Sim, para qualquer coisa que ainda esteja dentro de Cellar e Caskroom. O script oficial remove o prefixo, então fórmulas e metadados de cask vão junto. Configuração e dados fora do prefixo podem permanecer.

### Qual é a diferença entre `/opt/homebrew` e `/usr/local`?

`/opt/homebrew` é o padrão no Apple Silicon. `/usr/local` é o padrão no Intel, e também pode guardar um Homebrew Rosetta antigo num Mac migrado. Sempre confira `brew --prefix` antes de apagar.

### Devo desinstalar cada fórmula antes de rodar o script de desinstalação?

Só se quiser uma limpeza em etapas ou precisar inspecionar os dados de `var` primeiro. O script já remove os pacotes instalados no prefixo. Exporte as listas de qualquer forma se talvez reinstale depois.

### Por que diretórios restantes permanecem depois da desinstalação?

Permissões ou diretórios que o Homebrew não criou podem bloquear a exclusão. O script imprime esses caminhos uma vez. Remova-os com `sudo` só quando reconhecê-los como restos do Homebrew.

### É seguro apagar `/usr/local` inteiro?

Não. Em Macs Intel essa pasta é compartilhada. Use o script oficial de desinstalação e depois remova só os caminhos que ele nomear, se algo restar.

### Ainda vejo erros de brew shellenv em todo terminal novo. E agora?

Remova a linha `eval "$(...brew shellenv)"` dos arquivos de inicialização do zsh ou do bash e abra uma aba nova. O desinstalador não edita esses arquivos por você.

---

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