홈브루(Homebrew)는 맥용 패키지 관리자다.
macOS에서 여러 오픈 소스 소프트웨어를 쉽게 관리할 수 있게 해주는데, 쓰다 보면 명령어 중 update와 upgrade가 헷갈릴 때가 있다.
가장 간단하게 설명하면 다음과 같다.
brew update
- 홈브루 공식 저장소(Homebrew Github)에서 홈브루 자체와 지원하는 포뮬라(formula) 목록을 최신 버전으로 갱신한다.
- 필요한 경우 마이그레이션도 한다.
brew upgrade
- 설치된 캐스크(cask) 중 최신이 아닌 모든 것들을 최신 버전으로 업그레이드한다.
- 설치됐거나 핀을 찍지 않는 포뮬라 중 최신이 아닌 모든 것들을 최신 버전으로 업그레이드한다.
brew upgrade xxx이라고 하면 명시된xxx만 업그레이드한다.
즉, brew update는 홈브루 자체를 최신 버전으로 만들고, brew upgrade는 홈브루를 통해 설치한 것들(캐스크, 포뮬라)을 최신 버전으로 만든다.
참고로 캐스크(cask)는 홈브루로 설치할 수 있는 GUI 앱을 뜻하며, 포뮬라(formula)는 홈브루로 설치할 수 있는 패키지(CLI로 작동하는 앱)를 말한다.