homebrew tap으로 다른 버전의 의존성 설치하기 Misc/Tip2025. 12. 28. 23:39
Intro
: 저에게 필요한 도구를 설치하기 위해 homebrew를 자주 사용합니다. 예전에 개발했던 module에서 외부 의존성으로 사용하던 opensource가 있었는데요, 한동안 version도 많이 올라가서 거기에 대응하고자 build를 하려고 했더니... 이전에 제공하던 build script가 사라지고 cmake를 이용하여 build해야 한다고 안내되어 있었습니다.
homebrew로 cmake를 설치하면 4.2 version으로 설치가 되었는데요, build를 시도했더니 3.5 이하의 cmake만 호환된다는 메세지와 함께 실패했습니다. 3.5 이하 version의 cmake를 설치하면 되는데, homebrew으로 이전 버전의 cmake를 설치하는게 좀 신박?하여 그 방법을 정리해 보았습니다.
Homebrew Tap이란?
: Homebrew는 package, app을 설치할 때 기본적으로 두 가지 저장소를 사용합니다.
1) homebrew/core
- terminal에서 실행되는 것들이 있는 저장소
- /opt/homebrew/bin 에 설치됨
2) homebrew/cask
- finder에서 실행되는 것들이 있는 저장소
- /Application 에 설치됨
Homebrew Tap은 여기에 다른 저장소를 추가하는 것입니다.
Homebrew Tap 사용법
Tap 추가
: 아래와 같이 terminal에 입력하면 추가할 수 있습니다.
brew tap performous/homebrew-pinned_cmake3
Tap 조회
: Tap을 추가했다면 아래와 같이 terminal에 입력하면 tap의 목록을 조회할 수 있습니다.
brew tap
# performous/pinned_cmake3
Tap 에서 지원하는 version formula 설치
: tap을 추가하고, tap에서 제공하는 version으로 설치하려면 formula를 명시해야 합니다.
brew install cmake # x - homebrew/core의 cmake가 설치됨
brew install cmake@3.31.7 # o
brew install performous/pinned_cmake3/cmake@3.31.7 # o
※ formula란?
: homebrew가 어떻게 설치할지를 정의한 ruby script입니다(link 참조).
마무리
: 굳이 Tap을 추가하지 않고 tap의 formular 경로를 직접 입력하는 방법도 있습니다. 1회성 설치만으로 충분하다면 이렇게 하셔도 되지만... brew update나 brew doctor의 지원을 받을 수 없게된다는 단점이 있으니 상황에 맞게 사용하시면 되겠습니다.
brew install https://raw.githubusercontent.com/performous/homebrew-pinned_cmake3/master/Formula/cmake@3.31.7.rb
