C.W.K.
Stream
Lesson 05 of 05 · published

Homebrew Wisdom — 깨져봐야만 배우는 것들

~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 는 친절해 — 깨지기 전까지는. 친절한 시기는 약 6개월 가고, 그 다음 이 함정 중 하나에 걸리면 워크숍 분량 wisdom 이 머리 위로 떨어져. 워크숍 없이 wisdom 만 적어둘게.

절대 sudo brew 안 됨. Homebrew install 깨뜨리는 #1 원인. Cellar 는 사용자 소유여야 해. 이미 했으면 sudo chown -R $(whoami) /opt/homebrew 로 복구.

의존하는 버전은 핀. 코드베이스가 Python 3.12 가 필수면 python@3.12 (버전된 formula) 깔아 — python (항상 최신) 말고. 3.13 이 나와서 stdlib API 가 바뀌면 아침 안 잃어.

brew autoremove 정기적으로. 모든 install 이 의존성 끌고 옴. 부모 제거하면 deps 남아 — 시간 지나면 쌓여. brew autoremove 가 안전하게 더 이상 필요 없는 거 제거.

Brewfile 을 dotfiles 에 둬. 지금 Mac 한 대뿐이라도 미래의 너는 또 한 대 갖게 돼. Brewfile 이 '내 dev 셋업 다시 깔기' 를 반나절에서 커피 한 잔 시간으로 줄여.

Caveats 봐. 어떤 패키지는 PATH 추가, shell hook, 후속 서비스 등록 필요해. brew info 가 출력해; install 시점에 읽으면 2주 후의 답답한 디버깅 한 번 면해.

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
버전된 formulae — 코드가 의존하는 거 핀·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 repo (private 또는 public) 에 commit. 개인 한 Mac 짜리 dotfiles repo 라도 디스크 지우는 날 너무나 귀해.

Progress

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

댓글 0

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

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