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 start와 stop은 launchd 등록 상태를 바꿔. 패키지가 설치돼 있다는 사실과 부팅 뒤 서비스가 실행된다는 사실은 다르므로 포트, 데이터 경로, 로그와 건강 상태를 함께 확인해. 운영 서비스를 올리기 전에는 프로젝트의 정식 서비스 관리 계층과 충돌하지 않는지도 봐.