요약
- 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 앱을 설정 및 지원 파일과 함께 제거하며, 여기에는 다른 앱과 공유하는 파일이 포함될 수 있습니다.
Mac에서 Homebrew를 정리하는 방법
- Homebrew 사용량 측정하기. 다운로드 캐시는 du -sh "$(brew --cache)"로, 설치된 포뮬러는 du -sh "$(brew --cellar)"로 크기를 확인합니다.
- 정리 내용 미리 보기. brew cleanup -n을 실행하면 아무것도 지우지 않고 무엇이 제거될지와 확보될 공간을 보여 줍니다.
- 정리 실행하기. brew cleanup으로 이전 버전과 오래된 다운로드를 제거하거나, brew cleanup --prune=all로 다운로드 캐시를 완전히 비웁니다.
- 고아 의존성 제거하기. brew autoremove -n으로 미리 확인한 뒤, brew autoremove로 다른 포뮬러가 필요로 하지 않는 의존성을 제거합니다.
- 더 이상 쓰지 않는 것 제거하기. brew leaves --installed-on-request로 직접 설치한 항목을 확인한 다음, 필요 없는 것을 brew uninstall로 제거합니다.
- 문제가 없는지 확인하기. 정리를 마친 뒤 brew doctor를 실행해 설치 상태가 정상인지 확인합니다.
Homebrew는 업그레이드한 항목의 이전 버전과 내려받은 파일의 캐시를 남겨 두기 때문에 조금씩 커집니다. brew cleanup은 이전 버전과 120일이 지난 다운로드를 제거하고, brew cleanup --prune=all은 다운로드 캐시를 완전히 비우며, brew autoremove는 더 이상 아무것도 필요로 하지 않는 의존성을 제거합니다. 세 가지 모두 공식 명령어이며, 사용 중인 항목의 현재 버전은 전혀 건드리지 않습니다.
아래 명령어와 기본값은 2026년 10월 기준 Homebrew 매뉴얼(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(응용 프로그램 폴더)에 설치됩니다.
정리하기 전에 측정하기
du -sh "$(brew --cache)"
du -sh "$(brew --cellar)"
du -sh "$(brew --cellar)"/* | sort -h | tail -20
처음 두 줄은 다운로드 캐시와 설치된 전체 포뮬러의 크기를 보여 줍니다. 세 번째 줄은 가장 큰 포뮬러 20개를 나열합니다. Cellar 안의 각 폴더에는 설치된 버전마다 하위 폴더가 하나씩 있으므로, brew list --versions로 버전이 두 개 이상인 포뮬러를 확인할 수 있습니다.
brew cleanup: 지우는 것과 남기는 것
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으로 더 철저하게
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에 나열하세요.
아무것도 필요로 하지 않는 의존성 제거하기
포뮬러를 제거해도, 그 포뮬러가 함께 설치한 라이브러리는 남을 수 있습니다.
brew autoremove -n
brew autoremove
brew autoremove는 의존성으로만 설치되었고 이제 아무것도 필요로 하지 않는 포뮬러를 제거합니다. -n을 붙이면 목록을 먼저 보여 줍니다.
더 이상 쓰지 않는 것 제거하기
brew leaves --installed-on-request
brew uninstall <formula>
brew leaves는 다른 어떤 항목도 의존하지 않는 포뮬러를 나열하며, --installed-on-request(-r)를 붙이면 직접 설치한 항목으로 목록이 좁혀집니다. 대개 이것이 검토하기 가장 짧은 목록입니다. 포뮬러를 제거하면 Cellar에서 완전히 사라지며, 다시 설치하면 새로 내려받습니다.
Cask와 –zap
brew uninstall --cask <cask>
brew uninstall --zap <cask>
일반 제거는 앱만 지웁니다. --zap은 cask 정의에 앱 소유로 나열된 파일, 예를 들어 ~/Library의 환경설정, 캐시, 지원 폴더까지 제거합니다. Homebrew 매뉴얼은 이 옵션이 여러 앱이 공유하는 파일까지 제거할 수 있다고 경고하므로, 설정까지 함께 없애고 싶은 앱에만 사용하세요. Homebrew로 설치하지 않은 앱은 Mac 앱을 완전히 제거하는 방법을 참고하세요.
제거하기 전에 의존 관계 확인하기
brew uses --installed <formula>
제거하려는 포뮬러를 필요로 하는 설치된 포뮬러와 cask를 나열합니다. 목록이 비어 있지 않으면 --ignore-dependencies를 붙이지 않는 한 Homebrew가 제거를 거부하며, 이 옵션을 쓰면 해당 패키지가 망가질 수 있습니다. 공유 라이브러리는 그대로 두었다가, 더 이상 아무것도 필요로 하지 않을 때 brew autoremove가 정리하게 하는 편이 대개 낫습니다.
정리 후에도 Homebrew가 큰 이유
정리는 남은 찌꺼기를 지울 뿐, 사용 중인 패키지를 지우지는 않습니다. 툴체인, 컴파일러, 대형 프레임워크는 원래 크고, 각각 수십 개의 의존성을 함께 설치할 수 있습니다. 그래도 Cellar가 크다면 위의 세 번째 du 명령어로 어떤 포뮬러가 대부분을 차지하는지 확인하세요. 필요 없는 것을 제거한 다음 brew autoremove를 실행하면 그 의존성도 함께 정리됩니다.
결과 확인하기
brew doctor
brew doctor는 설치 상태에 잠재적인 문제가 있는지 검사하고, 문제를 발견하면 오류와 함께 종료합니다. 대부분의 경고는 참고용이지만, 정리를 마쳤거나 새 Mac으로 마이그레이션한 뒤의 마지막 점검으로 좋습니다.
MoreRoom이 도와드리는 방법
MoreRoom 무료 버전은 Homebrew의 다운로드 캐시와 Cellar를 인식해 크기를 보여 줍니다. 다운로드 캐시에는 ‘안전하게 제거 가능’, Cellar에는 ‘먼저 검토’ 라벨이 붙습니다. 둘 중 하나를 정리하면 MoreRoom은 Homebrew의 공식 명령어인 brew cleanup --prune=all을 실행합니다. 이전 버전과 캐시된 다운로드는 제거하지만, 사용 중인 패키지는 절대 건드리지 않습니다. 이 명령어는 되돌릴 수 없으며, 앱에도 그렇게 표시됩니다. MoreRoom이 포뮬러나 cask를 대신 제거하지는 않으므로, 그럴 때는 brew uninstall을 사용하세요.
Pro에는 여러 항목을 한 번에 정리하는 컬렉터와, 필요한 공간에 맞춰 가장 안전한 조합을 고르는 목표 모드가 더해집니다.
자주 묻는 질문
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의 위치를 확인할 수 있습니다.