# Homebrew 정리: Mac에서 brew가 차지한 공간을 확보하는 방법

> brew cleanup이 지우는 것과 남기는 것, 다운로드 캐시 비우기, 고아 의존성과 이전 버전 제거, Homebrew 사용량 측정 방법을 정리합니다.

- URL: https://moreroom.app/ko/learn/homebrew-cleanup
- Published: 2026-10-17
- Updated: 2026-10-17
- Publisher: MoreRoom (Yando Pte. Ltd.) — https://moreroom.app

## TL;DR

- brew cleanup은 기본적으로 설치된 포뮬러의 이전 버전, 오래된 잠금 파일, 120일이 지난 다운로드를 제거합니다.
- brew cleanup --prune=all은 기간과 관계없이 캐시된 다운로드를 모두 제거합니다. 먼저 brew cleanup -n으로 미리 확인하세요.
- brew autoremove는 설치된 어떤 포뮬러도 더 이상 필요로 하지 않는 의존성을 제거합니다.
- Homebrew는 Apple silicon에서는 /opt/homebrew에, Intel Mac에서는 /usr/local에 설치되며, 다운로드 캐시는 ~/Library/Caches/Homebrew에 있습니다.
- brew uninstall --zap은 cask 앱을 설정 및 지원 파일과 함께 제거하며, 여기에는 다른 앱과 공유하는 파일이 포함될 수 있습니다.

Homebrew는 업그레이드한 항목의 이전 버전과 내려받은 파일의 캐시를 남겨 두기 때문에 조금씩 커집니다. **`brew cleanup`은 이전 버전과 120일이 지난 다운로드를 제거하고, `brew cleanup --prune=all`은 다운로드 캐시를 완전히 비우며, `brew autoremove`는 더 이상 아무것도 필요로 하지 않는 의존성을 제거합니다.** 세 가지 모두 공식 명령어이며, 사용 중인 항목의 현재 버전은 전혀 건드리지 않습니다.

아래 명령어와 기본값은 2026년 10월 기준 [Homebrew 매뉴얼](https://docs.brew.sh/Manpage)(Homebrew 7)을 따릅니다.

## Homebrew가 파일을 보관하는 곳

| 항목 | Apple silicon | Intel |
|---|---|---|
| 접두 경로(`brew --prefix`) | `/opt/homebrew` | `/usr/local` |
| 설치된 포뮬러(`brew --cellar`) | `/opt/homebrew/Cellar` | `/usr/local/Cellar` |
| Cask(`brew --caskroom`) | `/opt/homebrew/Caskroom` | `/usr/local/Caskroom` |
| 다운로드 캐시(`brew --cache`) | `~/Library/Caches/Homebrew` | `~/Library/Caches/Homebrew` |

macOS 27 Golden Gate는 Apple silicon에서만 실행되므로 새로 설치하면 `/opt/homebrew`를 사용합니다. macOS 26 Tahoe 이하에 머무는 Intel Mac은 계속 `/usr/local`을 사용합니다. Intel 모델에서 마이그레이션한 Mac에는 둘 다 있을 수 있으며, `brew --prefix`로 어느 쪽이 활성 상태인지 알 수 있습니다.

Cask 앱 자체는 다른 앱과 마찬가지로 `/Applications`(응용 프로그램 폴더)에 설치됩니다.

![Homebrew의 다운로드 캐시, Cellar, cask와 각각을 정리하는 명령어](https://moreroom.app/learn/img/homebrew-cleanup-anatomy.svg)

## 정리하기 전에 측정하기

```sh
du -sh "$(brew --cache)"
du -sh "$(brew --cellar)"
du -sh "$(brew --cellar)"/* | sort -h | tail -20
```

처음 두 줄은 다운로드 캐시와 설치된 전체 포뮬러의 크기를 보여 줍니다. 세 번째 줄은 가장 큰 포뮬러 20개를 나열합니다. Cellar 안의 각 폴더에는 설치된 버전마다 하위 폴더가 하나씩 있으므로, `brew list --versions`로 버전이 두 개 이상인 포뮬러를 확인할 수 있습니다.

## brew cleanup: 지우는 것과 남기는 것

```sh
brew cleanup -n
brew cleanup
```

`brew cleanup -n`(또는 `--dry-run`)은 제거할 파일을 모두 나열하고 마지막에 확보될 공간의 추정치를 보여 줍니다. 아무것도 삭제되지 않습니다. 그다음 `brew cleanup`을 실행하면 다음을 수행합니다.

- 설치된 포뮬러의 **이전 버전**을 제거하고 현재 버전은 남깁니다.
- 포뮬러와 cask의 **오래된 잠금 파일**과 **구버전 다운로드**를 제거합니다.
- **120일이 지난 모든 다운로드**를 제거합니다. 이 기간은 `HOMEBREW_CLEANUP_MAX_AGE_DAYS`로 바꿀 수 있습니다.

`HOMEBREW_NO_AUTOREMOVE`를 설정하지 않았다면, 기본적으로 `brew autoremove`와 마찬가지로 더 이상 필요 없는 의존성도 제거합니다.

포뮬러나 cask 하나만 정리하려면 이름을 지정하세요. `brew cleanup node`처럼 실행합니다.

### --prune으로 더 철저하게

```sh
brew cleanup --prune=all
```

`--prune`은 일수를 받아 그보다 오래된 캐시 파일을 모두 제거하며, `--prune=all`은 기간과 관계없이 제거합니다. `-s`(`--scrub`)는 최신 버전의 다운로드까지 제거하지만, 현재 설치된 포뮬러와 cask의 다운로드는 여전히 남깁니다. Homebrew 자체 도움말에는 이것까지 지우는 `rm -rf "$(brew --cache)"`도 나와 있습니다. 캐시에는 다운로드만 들어 있으므로 어느 방법이든 안전하며, Homebrew가 필요한 것을 다시 내려받습니다.

이 삭제는 모두 영구적입니다. 휴지통으로 가는 것은 없습니다.

### 자동 정리

Homebrew는 어느 정도 스스로 정리합니다. `brew install`, `brew upgrade`, `brew reinstall` 후에는 관련 포뮬러를 정리하고, 30일마다(`HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS`) 전체를 정리합니다. 셸 프로필에 `HOMEBREW_NO_INSTALL_CLEANUP`을 설정했다면 이 정리가 전혀 일어나지 않으므로 Cellar에 이전 버전이 가득 쌓이게 됩니다. 이 변수를 지우거나 가끔 직접 `brew cleanup`을 실행하세요. 특정 포뮬러를 보호하려면 `HOMEBREW_NO_CLEANUP_FORMULAE`에 나열하세요.

## 아무것도 필요로 하지 않는 의존성 제거하기

포뮬러를 제거해도, 그 포뮬러가 함께 설치한 라이브러리는 남을 수 있습니다.

```sh
brew autoremove -n
brew autoremove
```

`brew autoremove`는 의존성으로만 설치되었고 이제 아무것도 필요로 하지 않는 포뮬러를 제거합니다. `-n`을 붙이면 목록을 먼저 보여 줍니다.

## 더 이상 쓰지 않는 것 제거하기

```sh
brew leaves --installed-on-request
brew uninstall <formula>
```

`brew leaves`는 다른 어떤 항목도 의존하지 않는 포뮬러를 나열하며, `--installed-on-request`(`-r`)를 붙이면 직접 설치한 항목으로 목록이 좁혀집니다. 대개 이것이 검토하기 가장 짧은 목록입니다. 포뮬러를 제거하면 Cellar에서 완전히 사라지며, 다시 설치하면 새로 내려받습니다.

### Cask와 --zap

```sh
brew uninstall --cask <cask>
brew uninstall --zap <cask>
```

일반 제거는 앱만 지웁니다. `--zap`은 cask 정의에 앱 소유로 나열된 파일, 예를 들어 `~/Library`의 환경설정, 캐시, 지원 폴더까지 제거합니다. Homebrew 매뉴얼은 이 옵션이 **여러 앱이 공유하는 파일까지 제거할 수 있다**고 경고하므로, 설정까지 함께 없애고 싶은 앱에만 사용하세요. Homebrew로 설치하지 않은 앱은 [Mac 앱을 완전히 제거하는 방법](https://moreroom.app/learn/uninstall-mac-apps-completely)을 참고하세요.

### 제거하기 전에 의존 관계 확인하기

```sh
brew uses --installed <formula>
```

제거하려는 포뮬러를 필요로 하는 설치된 포뮬러와 cask를 나열합니다. 목록이 비어 있지 않으면 `--ignore-dependencies`를 붙이지 않는 한 Homebrew가 제거를 거부하며, 이 옵션을 쓰면 해당 패키지가 망가질 수 있습니다. 공유 라이브러리는 그대로 두었다가, 더 이상 아무것도 필요로 하지 않을 때 `brew autoremove`가 정리하게 하는 편이 대개 낫습니다.

## 정리 후에도 Homebrew가 큰 이유

정리는 남은 찌꺼기를 지울 뿐, 사용 중인 패키지를 지우지는 않습니다. 툴체인, 컴파일러, 대형 프레임워크는 원래 크고, 각각 수십 개의 의존성을 함께 설치할 수 있습니다. 그래도 Cellar가 크다면 위의 세 번째 `du` 명령어로 어떤 포뮬러가 대부분을 차지하는지 확인하세요. 필요 없는 것을 제거한 다음 `brew autoremove`를 실행하면 그 의존성도 함께 정리됩니다.

## 결과 확인하기

```sh
brew doctor
```

`brew doctor`는 설치 상태에 잠재적인 문제가 있는지 검사하고, 문제를 발견하면 오류와 함께 종료합니다. 대부분의 경고는 참고용이지만, 정리를 마쳤거나 새 Mac으로 마이그레이션한 뒤의 마지막 점검으로 좋습니다.

## MoreRoom이 도와드리는 방법

MoreRoom 무료 버전은 Homebrew의 다운로드 캐시와 Cellar를 인식해 크기를 보여 줍니다. 다운로드 캐시에는 ‘안전하게 제거 가능’, Cellar에는 ‘먼저 검토’ 라벨이 붙습니다. 둘 중 하나를 정리하면 MoreRoom은 Homebrew의 공식 명령어인 `brew cleanup --prune=all`을 실행합니다. 이전 버전과 캐시된 다운로드는 제거하지만, 사용 중인 패키지는 절대 건드리지 않습니다. 이 명령어는 되돌릴 수 없으며, 앱에도 그렇게 표시됩니다. MoreRoom이 포뮬러나 cask를 대신 제거하지는 않으므로, 그럴 때는 `brew uninstall`을 사용하세요.

Pro에는 여러 항목을 한 번에 정리하는 컬렉터와, 필요한 공간에 맞춰 가장 안전한 조합을 고르는 목표 모드가 더해집니다.

## FAQ

### brew cleanup은 안전한가요?

네. 더 새로운 버전이 설치된 포뮬러의 이전 버전, 오래된 잠금 파일, 오래된 캐시 다운로드만 제거합니다. 설치한 모든 항목의 현재 버전은 그대로 남아 계속 작동합니다.

### Homebrew는 자동으로 정리하나요?

어느 정도는 그렇습니다. brew install, upgrade, reinstall 후에 관련 포뮬러를 정리하고, 30일마다 전체 정리를 실행합니다. HOMEBREW_NO_INSTALL_CLEANUP을 설정하면 이 기능이 꺼집니다.

### ~/Library/Caches/Homebrew를 삭제해도 되나요?

네. 다운로드만 들어 있으며, 필요하면 Homebrew가 다시 받아 옵니다. 깔끔한 방법은 brew cleanup --prune=all이며, Homebrew 자체 도움말에는 설치된 패키지의 다운로드까지 지우는 rm -rf "$(brew --cache)"도 나와 있습니다.

### brew autoremove와 brew cleanup은 무엇이 다른가요?

brew cleanup은 아직 사용하는 항목의 이전 버전과 캐시된 다운로드를 제거합니다. brew autoremove는 의존성으로만 설치되었고 이제 아무것도 필요로 하지 않는 포뮬러를 통째로 제거합니다.

### Mac에서 Homebrew는 어디에 설치되어 있나요?

Apple silicon Mac에서는 /opt/homebrew, Intel Mac에서는 /usr/local에 있습니다. brew --prefix를 실행하면 내 Mac의 위치를 확인할 수 있습니다.
