homebrew 특정 하위 버전 설치

Jaewon·2023년 9월 5일
0

m2 맥에서 colima를 사용하여 x86 소프트웨어인 oracle 이미지를 실행시키려고 하는 찰나

https://github.com/abiosoft/colima/issues/800
위의 이슈가 발생하였다.

원인은 qemu와 capstone이라는 fomula의 버전 문제였고 각각 다운그레이드가 필요한 상황인데 brew.sh에는 최신 버전밖에 올라와있지 않은 상태였다.

홈브류의 패키지는 레시피라는 형식으로 작성되어 홈브류 공식 저장소에서 관리됩니다. 하나의 레시피는 하나의 버전이 정의되기 때문에 홈브류에서는 하나의 패키지당 하나의 버전(일반적으로 최신 버전)만 가지고 있습니다. (출처)

결론부터 말하자면 이 homebrew 공식 저장소에 저장되어 있는 레시피의 경로와 해당 레시피의 특정 버전의 커밋의 hash를 찾아 아래 링크에 넣으면 된다.

https://raw.githubusercontent.com/Homebrew/homebrew-core/{commit_hash}/Formula/{fomula_path}

https://github.com/Homebrew/homebrew-core/commits/master/Formula/q/qemu.rb
위 링크로 들어가보면 하나의 레시피에 기록된 커밋 내역에 적혀있는 버전명을 볼 수 있다.

https://raw.githubusercontent.com/Homebrew/homebrew-core/05d02418e00ef6e9af79018e3655536063f68ab2/Formula/q/qemu.rb
위 링크로 들어가보면 해당 버전의 레시피의 설치를 위한 명령어들이 작성되어 있는 걸 볼 수 있다.

그러나 현재 최신버전이 설치된 상태에서 특정 버전을 직접 설치하면 충돌이 일어나기 때문에 먼저 brew unlink를 실행하고 설치를 진행한다.

curl https://raw.githubusercontent.com/Homebrew/homebrew-core/05d02418e00ef6e9af79018e3655536063f68ab2/Formula/q/qemu.rb -o qemu.rb
curl https://raw.githubusercontent.com/Homebrew/homebrew-core/442f9cc511ce6dfe75b96b2c83749d90dde914d2/Formula/c/capstone.rb -o capstone.rb
brew unlink qemu
brew install qemu.rb
brew unlink capstone
brew install capstone.rb

0개의 댓글