brew update したら怒られた。
brew update
==> error: unable to unlink old 'README.md' (Permission denied)
==> Error: Failure while executing: git pull -q origin refs/heads/master:refs/re
- アクセスが拒否されたから古いREADME.mdへのリンクを削除できなかった
- git pull 実行中に失敗した
的なことが書いてある。ので、brew doctorで医者に聞いてみる。
エラーの内容は2つ。
brew doctor
Warning: The /usr/local directory is not writable.
Warning: The /usr/local directory is not writable. Even if this directory was writable when you installed Homebrew, other software may change permissions on this directory. Some versions of the "InstantOn" component of Airfoil are known to do this. You should probably change the ownership and permissions of /usr/local back to your user account.
一つ目。大体こんなことが書いてあるっぽい。
/usr/local ディレクトリが書き込み可能ではありません。
Homebrewインストール時に書き込み可能であっても、他のソフトがこのディレクトリのパーミッションを変更することがあります。
自分のユーザーアカウントに戻って /usr/local の所有権とパーミッションを変更する必要があります。
対処
権限を確認してみる
cd /usr
ls -al
結果
drwxr-xr-x 22 root wheel 748 6 30 09:12 local/
確かにlocal ディレクトリのパーミションが755, グループがwheelになっとる。
下記コマンドで775, staffに戻す。
sudo chgrp staff /usr/local
sudo chmod 775 /usr/local
再度確認。
drwxrwxr-x 22 root staff 748 6 30 09:12 local/
解決。
Warning: You have uncommitted modifications to Homebrew
Warning: You have uncommitted modifications to Homebrew If this a surprise to you, then you should stash these modifications. Stashing returns Homebrew to a pristine state but can be undone should you later need to do so for some reason. cd /usr/local/Library && git stash && git clean -d -f
正直よくわからんけど、一番下のコマンドを実行すべしってことだと思うので、やってみた。
cd /usr/local/Library && git stash && git clean -d -f
再度、brew doctor
brew doctor
Your system is ready to brew.
解決!
brew updateができました。
参考記事: