본문 바로가기
C.W.K.
Stream
Lesson 05 of 05 · published

Homebrew 운영 요령 — 깨지기 전에 알아둘 것

~12 min · homebrew, wisdom, gotchas, production

Level 0입문자
0 XP0/55 lessons0/16 achievements
0/80 XP to next level80 XP to go0% complete

Homebrew는 평소엔 순순히 움직이지만, 오래 쓰다 보면 몇 가지 단골 함정을 만나. 미리 알아두면 반나절짜리 복구를 몇 분으로 줄일 수 있어.

sudo brew는 절대 쓰지 마. Cellar는 사용자 소유여야 해. 이미 sudo로 실행해 소유권이 꼬였다면 sudo chown -R $(whoami) /opt/homebrew로 되돌려.

프로젝트가 기대하는 버전을 설치해. Python 3.12가 꼭 필요한 코드베이스라면 늘 최신을 가리키는 python 대신 python@3.12를 써. 새 주 버전이 나온 아침에 갑자기 표준 라이브러리 차이와 싸우지 않게 돼.

brew autoremove를 주기적으로 실행해. 패키지를 지워도 함께 들어온 의존성이 남을 수 있어. 시간이 지나며 쌓인 고아 의존성은 이 명령으로 안전하게 정리할 수 있어.

Brewfile을 dotfiles와 함께 보관해. 지금은 Mac이 한 대뿐이어도 새 장비나 재설치 순간은 언젠가 와. Brewfile이 있으면 개발 환경 복구가 반나절짜리 기억력 시험에서 커피 한 잔 동안의 작업으로 바뀌어.

설치 후 주의사항을 읽어. 어떤 패키지는 PATH 추가나 shell hook, 서비스 등록이 더 필요해. brew info가 알려주는 내용을 설치할 때 확인하면 몇 주 뒤의 답답한 디버깅을 피할 수 있어.

Code

'sudo brew'로 꼬인 Apple Silicon Mac 복구·bash
# 증상: 'brew install' 이 'Permission denied' 로 에러
# 원인: 누가 (2023년의 너) 'sudo brew install ...' 한 번 침
# 해결: prefix 의 ownership 다시 가져오기

sudo chown -R "$(whoami)":admin /opt/homebrew

# 그 다음 검증
brew doctor
버전별 formula로 프로젝트 버전 고정·bash
# 일반 이름 = 항상 최신
brew install python

# 버전된 이름 = 업그레이드에 안전
brew install python@3.12
brew install postgresql@16
brew install node@22

# 일반 formula 가 업데이트돼도 코드는 계속 작동.
주간 정비 루틴·bash
# 매주 한 번 — 예: launchd job 또는 일요일 아침 습관
brew update
brew upgrade
brew autoremove        # 안 쓰는 deps 삭제
brew cleanup --prune=all  # 오래된 archive, 모든 옛 버전 삭제
brew doctor            # 건강한지 확인

External links

Exercise

지금 주간 정비 명령인 update, upgrade, autoremove, cleanup, doctor를 차례로 실행해. 얼마나 걸렸고 무엇이 정리됐는지 확인해봐. 이어서 새 Brewfile을 dotfiles 저장소에 기록해. Mac 한 대만 쓰더라도 디스크를 다시 밀어야 하는 날에는 이 파일이 아주 큰 값을 해.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.