설치
홈페이지에 있는 그대로 따르면 된다.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
그런데.. 설치가 끝나고 나도 brew
가 작동하질 않는다. 이건 아마도, macOS 기본 셸이 bash 에서 zsh 로 바뀌었기 때문일게다. 지금 찾아보니 Catalina 때부터라는데, 내가 Homebrew 를 열심히(?) 썼던 때는 High Sierra 시절이므로, 이런 변화를 알아차리지 못했다.
이를 위해선 한가지 명령(?)을 더 해줘야 하는데..
경로(Path) 설정
명령이라기 보다는 .zshrc 에 한 줄을 덧붙여주면 되겠다.
eval $(/opt/homebrew/bin/brew shellenv)
이 명령을 해석(?)해보면..
$ /opt/homebrew/bin/brew shellenv export HOMEBREW_PREFIX="/opt/homebrew"; export HOMEBREW_CELLAR="/opt/homebrew/Cellar"; export HOMEBREW_REPOSITORY="/opt/homebrew"; export PATH="/opt/homebrew/bin:/opt/homebrew/sbin${PATH+:$PATH}"; export MANPATH="/opt/homebrew/share/man${MANPATH+:$MANPATH}:"; export INFOPATH="/opt/homebrew/share/info:${INFOPATH:-}";
brew shellenv
는, homebrew 관련 환경변수 할당치를 출력해주되, 앞에 export 를 붙여준다.
그러나 이 출력은 그야말로 화면에 문자열을 보여주기만 할 뿐, ‘명령’으로 역할은 하지 못한다. 문자열에 생기를 불어넣어 명령으로 바꿔주려면, eval
의 힘이 필요하다.
다시 말하면, .zshrc 에 그냥 위에 있는 export 6줄을 넣어줘도 무방하다.
혹시나 해서 bash 로 셸을 바꾸고 brew
를 실행해보니 잘 됐다. export 로 PATH 를 확인해봐도 경로가 잘 들어가 있고.. 아마도 Homebrew 설치 프로그램이 bash 기준으로 작성돼 있는 듯?? 애초에 명령어도 /bin/bash
로 시작하기에, 의심할 여지는 충분하다.
아직 Catalina 이전 판을 사용하고 있는 사용자들을 배려해서 그런 걸까??
명령을 /bin/zsh 로 바꿔보면 어떨까??? ^^
Completion 설정(zsh)
이를 테면, brew in
까지 치고 tab 을 눌렀을 때 install
이 자동 완성되게 하고 싶다면? 역시나 손품을 팔아야 한다.
공식 설명서에 방법이 나와 있긴 한데..
zsh 와 oh-my-zsh 를 사용 중이라면, 약간 주의가 필요하다.
if type /opt/homebrew/bin/brew &>/dev/null; then FPATH=$(/opt/homebrew/bin/brew --prefix)/share/zsh/site-functions:$FPATH fi
위 내용을 $HOME/.zshrc
에 넣어주되, source $ZSH/oh-my-zsh.sh
전에 위치시켜야 한다.
또, 원문에서는 그냥 brew 라고 했는데, 이러려면 이 행 앞에 Homebrew PATH 가 인식되어있어야 한다. 따라서 이런 저런 위험(?)인자가 있으므로, 그냥 경로를 모두 넣어주는 편이 좋겠다.
이렇게 해주고 나서도 작동하지 않는다면, 다음 명령까지 필요하다.
rm -f ~/.zcompdump; compinit
간단한 사용법, 명령어는 예전에 쓴 글 참고.