这意味着什么?我该如何解决?

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

运行compaudit将返回如下结果:

There are insecure directories:
/usr/local/share/zsh/site-functions

当前回答

在M1上工作过

ProductName:    macOS
ProductVersion: 11.1
BuildVersion:   20C69

% compaudit
/opt/homebrew/share

将组权限从775更改为755

% sudo chmod 755 /opt/homebrew/share

drwxr-xr-x   33 xenea  admin   1056 Feb  2 01:28 share

其他回答

我最近在卡特琳娜也收到了同样的警告。 一个简单的解决方法是将其放在.zshrc的顶部

ZSH_DISABLE_COMPFIX=true

上面列出的解决方案没有一个对我有效。相反,我最终卸载并重新安装了Homebrew,这很管用。卸载说明可以在这里找到:http://osxdaily.com/2018/08/12/how-uninstall-homebrew-mac/

在macOS Sierra上,你需要运行: sudo chown -R $(whoami):staff /usr/local

我通过做来解决它

sudo chown -R root:staff /usr/local/share/zsh

在我的例子中,share/中的其他目录也分配了“staff”组

这个答案主要是我自己在未来使用的参考,因为大多数答案都没有提供一个成熟的解决方案。下面就是:

第一次运行:

compinit

如果以上都不起作用,请使用compaudit

对于打印的每个路径,运行以下命令:

sudo chown $(whoami) PATH_HERE

sudo chmod -R 755 PATH_HERE

简单的例子,假设运行compinit后打印的路径之一是“/usr/local/share/zsh”。然后:

sudo chown $(whoami) /usr/local/share/zsh

sudo chmod -R 755 /usr/local/share/zsh