macのターミナルを開いたら突然以下のメッセージが出た。
zsh compinit: insecure directories, run compaudit for list.
Ignore insecure directories and continue [y] or abort compinit [n]?[y]を押してほっておいても良いがメッセージが出ないようにする。
原因
安全ではないディレクトリがあるらしい。
シェル補完を実行するためのファイルのパーミッションが適切でない時に警告として出るらしい。
解決する
compaudit
メッセージにある通りcompauditコマンドを実行してみる
% compaudit
%何も表示されない…
$fpathのディレクトリ権限をチェック
ls -ld $fpathで権限を確認する
% ls -ld $fpath
ls: /usr/local/share/zsh/site-functions: No such file or directory
drwxrwxr-x 10 satoshi admin 320 11 14 14:10 /opt/homebrew/share/zsh/site-functions権限がおかしかったため権限を修正する
% sudo chmod -R 755 /opt/homebrew/share/zsh/site-functions
% sudo chown -R root:wheel /opt/homebrew/share/zsh/site-functionsZshの再インストール
brew reinstall zsh権限がおかしくて書き込みができないと言われて、表示されたコマンドの通り権限を修正する
再度compaudit
% compaudit
There are insecure directories:
/opt/homebrew/share/zsh原因がついに出てきた!権限を修正する
% sudo chmod -R 755 /opt/homebrew/share/zsh解決した!
まとめ
おそらく /opt/homebrew/share/zsh/site-functionsと/opt/homebrew/share/zsh/site-functionsの権限がよくなかった。
最初のcompauditコマンドで原因が表示されなかったのはcompauditコマンドが壊れていたからで再インストールしたら原因が表示されるようになった。
終わりに
ChatGPTに課金して聞いたらすべて解決してくれた!(無課金だと解決してくれなかった)


コメント