macOS Sierra の前バージョンの OS X El Capitan から System Integrity Protection (SIP) (rootless とも呼ばれる) という機能が導入され, /usr
や /System
といった重要なディレクトリへの書き込みが制限されています. 通常 /usr/local
にインストールされる Homebrew もこの影響を受けるため, これを回避する方法を紹介します.
対応方法
基本的に OS X El Capitan の時と同様です. El Capitan でパーミッションを設定しても, アップデートの際にパーミッションがリセットされるようです. その場合は以下の手順に従い再度パーミッションを設定してください.
2016/7 追記: Sierra から Sierra へのマイナーアップデートではパーミッションの変更作業は不要のようです.
2016/9/23 追記: Homebrew 1.0.0 から Homebrew のインストール先が /usr/local/Homebrew
以下に変更になっているため, 一部の手順を修正しました.
/usr/local
が既に存在する場合
Homebrew をすでにインストールしている場合はこちらに該当します. brew update
で Homebrew を最新のバージョンにアップデートしていれば, /usr/local
のパーミッションは macOS のデフォルトのままで OK です. 以下のコマンドを実行すると /usr/local
に macOS のデフォルトのパーミッションを設定することができます.
sudo chown root:wheel /usr/local
sudo chmod 0755 /usr/local
/usr/local
が存在しない場合
以下のコマンドで /usr/local
を作成し, 適切なパーミッションを設定します.
sudo mkdir /usr/local && sudo chflags norestricted /usr/local && sudo chown root:wheel /usr/local && sudo chmod 0755 /usr/local
上記の方法でうまくいかない場合は, 一度 SIP を無効化してから /usr/local
を作成してみて下さい. SIP の無効化やより詳細な説明については, こちらの記事を参照して下さい.