这意味着什么?我该如何解决?
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
这意味着什么?我该如何解决?
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
当前回答
注:此答案为2012年数据。
这为我解决了问题:
$ sudo chmod -R 755 /usr/local/share/zsh/site-functions
出处:zsh邮件列表上的一个帖子
编辑:正如@biocyberman在评论中指出的那样。您可能还需要更新站点函数的所有者:
$ sudo chown -R root:root /usr/local/share/zsh/site-functions
在我的机器(OSX 10.9)上,我不需要这样做,但YMMV。
EDIT2:在OSX 10.11上,只有这样才能工作:
$ sudo chmod -R 755 /usr/local/share/zsh
$ sudo chown -R root:staff /usr/local/share/zsh
另外,user:staff是OSX上正确的默认权限。
其他回答
我最近在卡特琳娜也收到了同样的警告。 一个简单的解决方法是将其放在.zshrc的顶部
ZSH_DISABLE_COMPFIX=true
当我sudo -i启动根shell时,我得到了相同的警告,@chakrit的解决方案对我不起作用。
但我发现-u开关的compinit工作,例如在你的.zshrc/zshenv或你调用compinit的地方
compinit -u
注意:不建议用于生产系统
参见http://zsh.sourceforge.net/Doc/Release/Completion-System.html#Initialization
注:此答案为2012年数据。
这为我解决了问题:
$ sudo chmod -R 755 /usr/local/share/zsh/site-functions
出处:zsh邮件列表上的一个帖子
编辑:正如@biocyberman在评论中指出的那样。您可能还需要更新站点函数的所有者:
$ sudo chown -R root:root /usr/local/share/zsh/site-functions
在我的机器(OSX 10.9)上,我不需要这样做,但YMMV。
EDIT2:在OSX 10.11上,只有这样才能工作:
$ sudo chmod -R 755 /usr/local/share/zsh
$ sudo chown -R root:staff /usr/local/share/zsh
另外,user:staff是OSX上正确的默认权限。
上面列出的解决方案没有一个对我有效。相反,我最终卸载并重新安装了Homebrew,这很管用。卸载说明可以在这里找到:http://osxdaily.com/2018/08/12/how-uninstall-homebrew-mac/
运行compaudit,它会给你一个它认为不安全的目录列表 sudo chown -R username:root target_directory sudo chmod -R 755 target_directory