在我的 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 永远不要问这个烦人的问题,要么接受不安全的目录,要么跳过它们?或者最好以管理员身份登录,然后简单地删除有问题的符号链接site-functions
?我可以忍受一个不知道如何处理brew
命令的完成系统。