Homebrew에서 다양한 문제를 겪을 때.

Mac용 패키지 매니저인 Homebrew를 이용해 설치한 패키지들을 업그레이드 하려 했는데,

$ brew upgrade
==> Upgrading 9 outdated packages, with result:
ffmpeg 3.4.2 -> 4.0, lolcat 90.8.8 -> 99.9.11, azure-cli 2.0.30 -> 2.0.31, python 3.6.4_4 -> 3.6.5, certbot 0.22.2 -> 0.23.0, mongodb 3.6.3 -> 3.6.4, htop 2.1.0_1 -> 2.2.0, youtube-dl 2018.03.26.1 -> 2018.04.25, node 9.11.1 -> 10.0.0
Error: Permission denied @ rb_sysopen - /usr/local/var/homebrew/locks/sphinx-doc.formula.lock

권한 문제가 떠서 당황했다.
내가 쓰고 있는 Mac에 사용자를 여러명 추가했는데, 그 사용자에서 brew가 작동하지 않아 사용했던 chown의 오용이 문제가 된 것 같다.

오류를 해결하기 위해 구글링을 하다 찾은 Gist에서,

sudo chown -R $(whoami) /usr/local : a bad idea too ! I don't see why sudoing Homebrew is a worst idea.
sudo chown -R $(whoami) /usr/local is a terrible idea! I'd rather just sudo when installing; I'm switching to macports

라는 댓글을 보고 역시 좋은 아이디어는 아니었구나 하는 생각이 들었다.

아무튼, 댓글을 살펴보는 도중에 Homebrew를 재설치 하고 진행했더니 제대로 진행이 되더라- 하는 댓글이 있어서, 한번 시도해 볼 가치는 있겠다 싶어 실험해봤다.

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

...
==> Installation successful!
...
==> Next steps:
- Run `brew help` to get started
- Further documentation: 
    https://docs.brew.sh

그리고 다시 업그레이드를 진행했다.

$ brew upgrade
==> Upgrading 7 outdated packages, with result:
azure-cli 2.0.30 -> 2.0.31, python 3.6.4_4 -> 3.6.5, certbot 0.22.2 -> 0.23.0, mongodb 3.6.3 -> 3.6.4, htop 2.1.0_1 -> 2.2.0, youtube-dl 2018.03.26.1 -> 2018.04.25, node 9.11.1 -> 10.0.0
==> Upgrading azure-cli
...

잘된다..!

앞으로 Homebrew에서 권한문제를 겪으면, Homebrew를 다시 설치해봐야겠다.