Homebrew는 Mac OS X에 기본으로 포함되어 있지 않은 UNIX 도구들을 유연하게 설치 및 관리하게 도와주는 도구입니다. 기존의 MacPorts 또는 Fink에 비해서 여러모로 패키지를 설치 및 관리하기가 편합니다. Homebrew를 설치하고 사용하는 방법을 알아보도록 하겠습니다.
요구 사항
Xcode 설치
Homebrew가 패키지를 컴파일하기 위해서는 GCC가 필요한데 Xcode를 설치하면 됩니다. 하지만 Xcode 최신 버전은 이전과 다르게 Xcode 설치와 함께 Command Line Tools가 자동적으로 설치되지 않습니다. 그렇기 때문에 Xcode를 실행하여 ‘Preferences > Downloads > Command Line Tools’ 항목을 설치해주어야만 합니다. 제대로 설치되었는지 터미널에서 확인할 수 있습니다.
gcc --version
Homebrew 설치
Terminal.app을 실행하여 쉘에서 다음의 명령어를 복사한 다음 실행합니다.
/usr/bin/ruby -e "$(/usr/bin/curl -fksSL https://raw.github.com/mxcl/homebrew/master/Library/Contributions/install_homebrew.rb)"
설치에 성공하면 ‘brew doctor’ 명령어를 실행하여 문제가 없는지 확인합니다.
brew doctor
만약 Mac OS X 10.7 Lion을 사용하고 있다면 Xcode 4.3의 경로 문제로 다음과 같은 오류 메시지가 발생하게 됩니다.
Warning: Your Xcode is configured with an invalid path.
You should change it to the correct path. Please note that there is no correct
path at this time if you have *only* installed the Command Line Tools for Xcode.
If your Xcode is pre-4.3 or you installed the whole of Xcode 4.3 then one of
these is (probably) what you want:
sudo xcode-select -switch /Developer
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
DO NOT SET / OR EVERYTHING BREAKS!
이 경로 문제를 해결하기 위해서 아래의 명령을 실행하여 Xcode의 설치 경로를 다시 지정해줍니다.
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
만약 ‘Error: No such file or directory – /usr/local/Cellar’라는 오류가 발생했을 경우에는 해당 경로의 디렉토리를 만들어줍니다.
sudo mkdir /usr/local/Cellar
디렉토리의 권한을 본인의 것으로 지정해줍니다. 아래 명령어의 ‘whoami’ 부분을 자신의 Mac OS X 사용자명으로 변경하여 명령어를 실행합니다.
sudo chown -R 'whoami' /usr/local
FORMULA 검색 방법
FORMULA는 Homebrew에서 설치 패키지를 의미합니다. 설치하고 싶은 패키지의 이름 또는 키워드로 아래와 같이 입력하여 쉽게 찾을 수 있습니다.
brew search foo
FORMULA 설치 방법
FORMULA를 설치하려면 아래와 같이 명령어를 입력하면 됩니다.
brew install foo
FORMULA 업그레이드 방법
Homebrew를 이용해서 설치된 FORMULA를 쉽게 업그레이드할 수 있으며 관리하기가 편합니다.
brew upgrade foo
FORMULA 설치해제 방법
brew uninstall foo
Homebrew를 좀 더 자세하게 이용하는 방법은 Wiki에서 찾아 볼 수 있으며, 터미널에서 ‘brew help’ 명령어로도 확인이 가능합니다. 만약 Hombrew의 FORMULA를 수정하고 싶다면 Art of Dalinaum 블로그의 글에서 내용을 찾을 수 있습니다.