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-functions
Zshの再インストール
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に課金して聞いたらすべて解決してくれた!(無課金だと解決してくれなかった)
コメント