# Homebrew를 지워도 설치 목록은 남기는 방법

> 공식 제거 스크립트는 Cellar와 Caskroom까지 지우므로 formula 목록을 먼저 내보내고, 삭제하지 못한 경로 목록을 보관하세요

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

Homebrew에는 공식 uninstaller가 있으며, 이름 그대로 동작합니다. 의외인 점은 범위입니다. Homebrew 자체와 Homebrew로 설치한 것까지 함께 지우며, 이 두 사실은 여기 오신 이유에 따라 전혀 다르게 느껴집니다.

디스크 공간을 되찾으려 왔다면, 개발자 Mac 대부분에서 한 번에 가장 많이 확보되는 작업입니다. 특정 formula 하나만 문제여서 왔다면, 원하는 것보다 훨씬 큰 조치입니다.

## 공식 제거 도구

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

실행하기 전에 읽어 보세요. 스크립트는 짧고, 실제로 일어날 일을 가장 정확하게 설명합니다. 어떤 글보다 확실한 기준입니다.

`--dry-run`을 지원하며, 아끼는 기기에서는 이 옵션으로 먼저 실행하는 것이 맞습니다. 삭제될 항목을 출력하고 아무것도 바꾸지 않습니다.

## 스크립트가 실제로 삭제하는 항목

uninstaller는 Homebrew prefix와 그 아래 디렉터리를 제거합니다. `bin`,
`etc`, `include`, `lib`, `opt`, `sbin`, `share`, `var`, `Frameworks`, 그리고
`Cellar`와 `Caskroom` 모두입니다.

마지막 둘이 핵심입니다. Cellar에는 모든 formula 파일이 있고, Caskroom에는 cask 메타데이터가 있습니다. Homebrew를 지우면 이들도 함께 사라지므로, 그로 설치한 모든 명령줄 도구가 동시에 사라집니다.

또한 `~/Library/Caches/Homebrew`와 `~/Library/Logs/Homebrew`, 시스템 수준 Homebrew 캐시, `/etc/paths.d/homebrew`, 그리고 `/Applications`와 `~/Applications`에 있는 Homebrew 관리 앱도 정리합니다.

<figure class="blog-diagram">
  <img src="https://mole.fit/img/blog/homebrew-uninstall-scope.webp" width="1360" height="454" loading="lazy" alt="uninstaller는 Cellar와 Caskroom을 포함한 Homebrew prefix, 캐시, 로그를 제거하고, 패키지가 직접 쓴 설정과 셸 프로필 줄은 남깁니다.">
  <figcaption>스크립트는 패키지 관리자만이 아니라 패키지까지 함께 제거합니다. 남는 것은 패키지가 쓴 설정과 셸 프로필에 직접 추가한 줄입니다.</figcaption>
</figure>

## 제거하기 전에 설치 목록을 기록해 두세요

목록은 삭제 후에는 복구할 수 없으며, 명령은 하나입니다.

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

`brew leaves`는 딸려 온 의존성이 아니라 직접 설치한 formula만 나열합니다. 다시 설치할 때 실제로 필요한 목록입니다. 새 기기에서는 이 두 파일이 일일이 기억해 내야 할 일을 `brew install` 한 줄로 바꿉니다.

패키지가 자기 디렉터리 밖에 둔 것은 삭제되지 않으며 보존할 가치가 있습니다. Postgres 데이터 디렉터리, `/opt/homebrew/var` 아래 로컬 데이터베이스, 홈 디렉터리의 설정 등이 그렇습니다. uninstaller는 prefix 아래 `var`를 지우므로, 그곳에 있는 데이터베이스도 함께 사라집니다. 중요하면 먼저 다른 곳으로 복사하세요.

## 사람들이 지나치기 쉬운 마지막 메시지

스크립트가 끝나면 삭제하지 못한 Homebrew 관련 파일이 있으며 직접 제거하는 편이 좋을 수 있다는 메시지와 함께 목록을 출력할 수 있습니다.

그 경로 이름이 출력되는 유일한 곳입니다. 보통 Homebrew가 만들지 않은 디렉터리의 권한 때문이며, 목록은 짧습니다. 터미널을 닫기 전에 어딘가에 복사해 두세요. 이미 제거된 설치에 uninstaller를 다시 실행해도 그 목록은 다시 나오지 않습니다.

## 셸 프로필에는 여전히 남아 있습니다

uninstaller는 `.zprofile`, `.zshrc`, `.bash_profile`을 편집하지 않습니다. 설치 때 추가한 `eval
"$(/opt/homebrew/bin/brew shellenv)"` 줄은 그대로 남고, 새 셸마다 더 이상 없는 바이너리를 실행하려 합니다.

해롭지는 않지만 거슬립니다. 줄을 지우거나, 다시 설치할 계획이면 그대로 두세요.

## 더 작은 범위의 작업으로 충분한지 먼저 고려하세요

Homebrew를 제거하려는 이유 대부분은 더 좁은 작업으로 해결되는 편이 낫습니다. `brew
cleanup`은 이전 버전과 캐시된 다운로드를 회수합니다. `brew uninstall <formula>`는 하나만 지웁니다. `brew autoremove`는 더 이상 필요 없는 의존성을 제거합니다. 무엇을 실행하든 [Mole](https://mole.fit/)은 prefix가 전후에 얼마나 차지하는지 보여 주며, 그 숫자로 전체 제거가 처음부터 필요했는지 판단할 수 있습니다.

## 내보낸 목록으로 다시 설치하기

새 컴퓨터에 Homebrew를 설치한 뒤, 다음 두 명령으로 이전 환경을 복원합니다.

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

cask에는 `--cask` 옵션이 필요하므로 목록을 분리합니다. 한 목록에 섞으면 항목의 절반 정도에서 설치가 실패합니다.

이 방식의 핵심은 `brew list`가 아니라 `brew leaves`를 쓰는 점입니다. `brew list`에는 의존성까지 포함되므로, 그대로 다시 실행하면 자동으로 따라와야 할 패키지 수백 개가 명시적으로 설치됩니다. 직접 설치한 패키지로 취급되어, 이후 `brew autoremove`도 이들을 건드리지 않습니다. `brew leaves`는 직접 설치한 패키지만 반환하고, 의존성 그래프는 Homebrew에 맡깁니다.

---

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