tech.chakapoko.com
Home / zsh

zsh compinit: insecure directories, run compaudit for list. Ignore insecure directories and continue [y] or abort compinit [n]?

HomebrewをインストールしたらMacでターミナルを開くたびにzshが次のようなエラーを出力するようになりました。

zsh compinit: insecure directories, run compaudit for list.
Ignore insecure directories and continue [y] or abort compinit [n]?

セキュアではないディレクトリがあるので compaudit を実行して確認してください。ということなので実行してみます。

$ compaudit
There are insecure directories:
/usr/local/share/zsh/site-functions
/usr/local/share/zsh
$ ls -alh /usr/local/share/zsh /usr/local/share/zsh/site-functions
/usr/local/share/zsh:
total 0
drwxrwxr-x   3 me  admin    96B  3 10 14:04 .
drwxrwxr-x  12 me  admin   384B  3 10 14:23 ..
drwxrwxr-x   4 me  admin   128B  3 10 14:10 site-functions

/usr/local/share/zsh/site-functions:
total 0
drwxrwxr-x  4 me  admin   128B  3 10 14:10 .
drwxrwxr-x  3 me  admin    96B  3 10 14:04 ..
lrwxr-xr-x  1 me  admin    39B  3 10 14:10 _brew -> ../../../Homebrew/completions/zsh/_brew
lrwxr-xr-x  1 me  admin    44B  3 10 14:10 _brew_cask -> ../../../Homebrew/completions/zsh/_brew_cask

どうやらグループに書き込み権限があるのが悪いようなので、書き込み権限をとります。

$ chmod g-w /usr/local/share/zsh /usr/local/share/zsh/site-functions
$ ls -alh /usr/local/share/zsh /usr/local/share/zsh/site-functions
/usr/local/share/zsh:
total 0
drwxr-xr-x   3 me  admin    96B  3 10 14:04 .
drwxrwxr-x  12 me  admin   384B  3 10 14:23 ..
drwxr-xr-x   4 me  admin   128B  3 10 14:10 site-functions

/usr/local/share/zsh/site-functions:
total 0
drwxr-xr-x  4 me  admin   128B  3 10 14:10 .
drwxr-xr-x  3 me  admin    96B  3 10 14:04 ..
lrwxr-xr-x  1 me  admin    39B  3 10 14:10 _brew -> ../../../Homebrew/completions/zsh/_brew
lrwxr-xr-x  1 me  admin    44B  3 10 14:10 _brew_cask -> ../../../Homebrew/completions/zsh/_brew_cask

これで警告が表示されなくなりました。