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

Homebrew 핵심

~10 min · homebrew, package, macos

Level 0창 구경꾼
0 XP0/95 lessons0/14 achievements
0/100 XP to next level100 XP to go0% complete

macOS에서 도구 설치를 관리하는 한 계층

Homebrew는 macOS와 Linux에서 CLI 도구, 일부 GUI 앱과 글꼴을 설치하고 갱신해. ripgrep, fd, fzf, bat 같은 사용자 도구를 한곳에서 관리하기 편하지만 운영체제 구성 요소, 프로젝트 런타임과 서비스 자격 증명의 소유권까지 모두 가져가게 하면 경계가 흐려져. 어떤 도구를 Homebrew가 소유하고 어떤 도구를 프로젝트 환경 관리자가 소유하는지 먼저 정해.

공식 설치 뒤 셸 환경을 확인해

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
eval "$(/opt/homebrew/bin/brew shellenv)"
brew --prefix
type -a brew

설치 스크립트는 실행 전에 출처와 내용을 확인해. 위 예시는 /opt/homebrew를 사용하지만 실제 설치 경로는 아키텍처와 설정에 따라 달라질 수 있으니 brew --prefix로 검증해. 로그인 셸이 새 PATH를 읽는 위치도 확인해.

일상 명령의 변경 범위를 구분해

  • brew install tool: formula를 설치해.
  • brew install --cask app: GUI 앱 등 cask를 설치해.
  • brew update: 패키지 정의를 갱신해.
  • brew upgrade: 설치한 패키지 버전을 올려.
  • brew info tool: 버전, 의존성, 주의 사항을 보여 줘.
  • brew leaves: 직접 설치한 최상위 formula를 보여 줘.
  • brew doctor: 환경의 흔한 문제를 진단해.

대규모 upgrade 전에는 변경 대상과 서비스 재시작 영향을 확인해.

Brewfile로 의도를 기록해

brew bundle dump --file=Brewfile은 현재 설치 상태에서 선언 파일을 만들고, brew bundle --file=Brewfile은 그 선언을 적용해. 자동 생성한 전체 목록을 그대로 진실로 삼기보다 직접 필요한 formula, cask, tap과 앱만 검토해 남겨. Brewfile은 설치 의도를 재현하지만 앱 내부 설정과 데이터, 라이선스와 비밀 값까지 백업하지는 않아.

서비스 실행은 설치와 별도 계약이야

brew services list는 Homebrew가 관리하는 장기 실행 서비스를 보여 주고, brew services startstop은 launchd 등록 상태를 바꿔. 패키지가 설치돼 있다는 사실과 부팅 뒤 서비스가 실행된다는 사실은 다르므로 포트, 데이터 경로, 로그와 건강 상태를 함께 확인해. 운영 서비스를 올리기 전에는 프로젝트의 정식 서비스 관리 계층과 충돌하지 않는지도 봐.

Code

Mac 첫 날 설정 패턴·bash
# 현재 설치 목록 저장
brew bundle dump --file=~/Brewfile
# 새 Mac에서 설치 목록 복원
brew bundle install --file=~/Brewfile
# 설치 전에 도구 정보 확인
brew info ripgrep

External links

Exercise

brew leavesbrew services list를 읽어 직접 설치한 도구와 실행 중인 서비스를 구분해. 시험용 Brewfile을 만든 뒤 formula, cask와 tap 항목을 검토하고, 새 환경에서 정말 필요한 항목만 남기는 기준을 적어 봐.

Progress

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

댓글 0

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

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