Brewfile bundle로 Brew dump하기
Brew bundle로 Brewfile을 만들고, 다른 Mac에 그대로 복원하는 방법.
Brew bundle로 환경을 코드로 관리하기
Brew bundle은 Homebrew의 서브 커맨드다. Brewfile을 통해 패키지 설치를 선언적으로 관리할 수 있다.
관리 대상
- 패키지(Formula): CLI 도구와 라이브러리
- Cask: GUI 애플리케이션
- 서비스: 백그라운드 데몬
- Mac App Store 앱:
mas로 설치
이렇게 정리해두면, 여러 Mac에서 같은 환경을 금방 맞출 수 있다.
Brewfile 추출 (dump)
현재 설치된 Homebrew 목록을 Brewfile로 뽑아낼 수 있다.
# Brewfile 생성
brew bundle dump
# 기존 Brewfile 덮어쓰기
brew bundle dump --force
# Brewfile 내용 확인
cat BrewfileBrewfile은 현재 디렉토리에 생성되고, tap/brew/cask/mas 항목이 모두 들어간다.
Brewfile 설치 (install)
추출된 Brewfile을 그대로 다른 Mac에서 적용할 수 있다.
# 새 Mac에서 Homebrew 업데이트 권장
brew update && brew upgrade
# Brewfile로 설치
brew bundle install
# install은 생략 가능
brew bundle
# 특정 경로의 Brewfile 사용
brew bundle --file=~/dotfiles/Brewfile설치 옵션
--no-upgrade: 이미 설치된 패키지는 업그레이드하지 않음--verbose: 상세 로그 출력--force: 오류가 나도 계속 진행
Brewfile 예시
# Tap 저장소 추가
tap "aws/tap"
tap "homebrew/cask-fonts"
tap "homebrew/autoupdate"
# CLI 도구 설치
brew "awscli" # AWS CLI
brew "curl" # HTTP 클라이언트
brew "docker" # 컨테이너 플랫폼
brew "git" # 버전 관리
brew "gh" # GitHub CLI
brew "gradle" # 빌드 도구
brew "jenv" # Java 버전 관리
brew "jq" # JSON 파서
brew "wget" # 파일 다운로더
# GUI 애플리케이션 설치 (Cask)
cask "visual-studio-code" # 코드 에디터
cask "intellij-idea" # Java IDE
cask "docker" # Docker Desktop
cask "notion" # 노트 앱
cask "slack" # 커뮤니케이션
cask "google-chrome" # 웹 브라우저
# Mac App Store 앱 설치 (mas-cli 필요)
mas "Magnet", id: 441258766 # 윈도우 관리
mas "KakaoTalk", id: 869223134 # 메신저Brewfile 관리 명령어
1. brew bundle cleanup
Brewfile에 없는 패키지를 제거한다.
# 삭제될 패키지 목록 확인
brew bundle cleanup
# 실제 삭제 실행
brew bundle cleanup --forceBrewfile에 선언된 항목만 남기고 정리할 때 유용하다.
2. brew bundle check
Brewfile에 있는 항목이 모두 설치됐는지 확인한다.
brew bundle check누락이 없으면 exit code 0, 누락이 있으면 1을 반환한다.
3. brew bundle list
Brewfile에 명시된 목록을 출력한다.
# 모든 항목 나열
brew bundle list
# 특정 타입만 나열
brew bundle list --brews # Formula만
brew bundle list --casks # Cask만
brew bundle list --taps # Tap만
brew bundle list --mas # Mac App Store 앱만활용 팁
1. Git으로 Brewfile 관리
Brewfile을 저장소에 넣어 버전 관리하면 편하다.
# dotfiles 저장소에 Brewfile 추가
cp Brewfile ~/dotfiles/
cd ~/dotfiles
git add Brewfile
git commit -m "Add Brewfile for package management"2. 주석 활용
패키지 용도를 주석으로 남겨두면 나중에 보기 쉽다.
# 개발 도구
brew "git" # 버전 관리 시스템
brew "docker" # 컨테이너 플랫폼
# 생산성 도구
cask "notion" # 노트 및 문서 관리
cask "rectangle" # 윈도우 관리 유틸리티3. 환경별 Brewfile 분리
개인용/업무용을 분리하면 충돌이 줄어든다.
# 개인용
brew bundle --file=~/dotfiles/Brewfile.personal
# 업무용
brew bundle --file=~/dotfiles/Brewfile.work주의사항
- mas-cli 필요:
brew install mas로 먼저 설치해야 한다. - App Store 로그인: mas 사용 전 로그인 상태여야 한다.
- Cask 업데이트:
brew bundle은 기본적으로 cask를 자동 업데이트하지 않는다. - 권한 문제: 일부 cask는 관리자 권한이 필요할 수 있다.