なぜこのエラーが発生するのか
Homebrewは通常スムーズに動作しますが、ファイルパーミッションに関しては非常に厳格です。このエラーは主に brew install や brew upgrade を実行した際に表示されます。SonomaへのアップグレードなどのmacOSのメジャーアップデート後や、新しいM3 MacBook Proへのデータ移行後によく発生する問題です。また、誤って sudo を使用してコマンドを実行してしまい、フォルダの所有権がシステムルート(root)に移ってしまったことが原因である場合もあります。
Apple Silicon搭載のMacでは、Homebrewは /opt/homebrew にインストールされます。古いIntel搭載のMacでは /usr/local に保持されます。このエラーは、Homebrewが zsh フォルダにファイルを配置しようとしているものの、使用しているユーザーアカウントにその権限がないことを意味しています。
Error: The following directories are not writable by your user:
/opt/homebrew/share/zsh
/opt/homebrew/share/zsh/site-functions
デバッグ手順
まず、実際にそれらのフォルダを誰が所有しているかを確認しましょう。ターミナルを開き、次のコマンドを実行します。
ls -ld /opt/homebrew/share/zsh /opt/homebrew/share/zsh/site-functions
出力の3番目の列を確認してください。もし root と表示されていれば、それが問題の原因です。ターミナルの出力は以下のようになっているはずです:
drwxr-xr-x 3 root admin 96 Oct 24 10:00 /opt/homebrew/share/zsh
drwxr-xr-x 2 root admin 64 Oct 24 10:00 /opt/homebrew/share/zsh/site-functions
Homebrewは、Macのセキュリティを維持するためにroot権限なしで動作するように設計されています。ユーザーがこれらのディレクトリの所有権を再び取得するまで、Homebrewはインストールを拒否します。
解決策
修正は非常に簡単です。chown(change owner)コマンドを使用して、所有権を取り戻します。所有権の譲渡を承認するために、今回だけ sudo を使用する必要があります。
1. 特定のディレクトリの所有権を修正する
エラーに記載されている特定のフォルダを修正するには、以下を実行します:
sudo chown -R $(whoami) /opt/homebrew/share/zsh /opt/homebrew/share/zsh/site-functions
このコマンドの内容は以下の通りです:
sudo: システムフォルダを変更するための一時的な管理者権限を付与します。-R: 指定したフォルダ内のすべての項目も再帰的に修正します。$(whoami): お使いのMacのユーザー名を自動的に入力するショートカットです。
2. 「すべてを修正する」アプローチ(推奨)
複数のパーミッションエラーが表示される場合は、Homebrewのパス全体を一度に修正する方が効率的です。これにより、将来的なエラーとの「いたちごっこ」を避けることができます。
Apple Silicon (M1, M2, M3) の場合:
sudo chown -R $(whoami) /opt/homebrew
Intel搭載Macの場合:
sudo chown -R $(whoami) /usr/local/bin /usr/local/etc /usr/local/sbin /usr/local/share /usr/local/var
3. パーミッションの再確認
所有権が原因であることがほとんどですが、書き込み権限の設定自体が間違っている場合もあります。ディレクトリは通常 755 に設定されている必要があります。設定を適用する前に視覚的に確認したい場合は、Unix Permissions Calculator などをチェックしてみてください。これにより、リスクの高い 777 設定のようにフォルダをオープンにしすぎないように調整できます。
chmod u+w /opt/homebrew/share/zsh /opt/homebrew/share/zsh/site-functions
動作確認
Homebrewの診断ツールを実行して、すべてが正常であることを確認します:
brew doctor
修正が成功していれば、Your system is ready to brew. と表示されます。これで、brew install node や brew install python などのパッケージを問題なくインストールできるようになります。
今後のためのプロのアヒント
- brewでsudoを使わない: 決して
sudo brew installを実行しないでください。これがパーミッション不整合の最大の原因です。 - アップデート後の習慣: macOSのアップデートにより、共有フォルダのパーミッションがリセットされることがよくあります。アップデート後に動作が重い、あるいは壊れていると感じたら、すぐに
brew doctorを実行しましょう。 - ユーザー vs Root: Homebrewの問題の多くは、パーミッション(ファイルに対して何ができるか)ではなく、所有権(誰がファイルを所有しているか)に起因します。まずは所有者を常に確認してください。

