在Mac上安装Homebrew和Homebrew-Cask之后(以具有用户ID'admin'的管理员身份运行MacOS 10.12.6),我收到错误消息
zsh compinit: insecure directories, run compaudit for list.
Ignore insecure directories and continue [y] or abort compinit [n]?
每次我启动zsh时。用compaudit投资问题时,我发现提到了几个不安全的目录,其中大多数与Homebrew相关,例如/usr/local/share/zsh/site-functions
。该目录及其条目的访问权为0755,应该可以,但是-例如-条目
/usr/local/share/zsh/site-functions/_brew
是到Homebrew中定义zsh补全的文件的符号链接,拥有者 admin 。我的猜测是zsh想在这里看到用户 root 。
如果这是Linux,我只需将这些文件的所有者更改为 root ,或者说,我首先将整个安装都设为root。但是,在MacOS 10.12中,甚至“管理员”都不能完全控制系统,尽管我可以以管理员身份登录,但我什至不知道root的密码。
是否有解决此问题的聪明方法?或者,我们是否可以以某种方式教zsh compinit永远不要问这个烦人的问题,要么接受不安全的目录,要么跳过它们?还是最好以admin身份登录,然后从site-functions
删除有问题的符号链接?我可以使用不知道如何处理brew
命令的完成系统。
答案 0 :(得分:0)
我发现,错误消息是由我的compinit
中的.zshrc
调用生成的,可以通过传递-i
选项将其关闭,即
compinit -i
虽然这可以解决问题,但是Ortomala Lokni提出的有关应使用用户权限安装Homebrew的论点也值得考虑-仅Homebrew不允许我这样做;但这是一个单独的主题。