这意味着什么?我该如何解决?
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
当前回答
在莫哈韦沙漠,这招奏效了: Sudo chmod go-w /usr/local/share
(2022年更新)
如果使用ZSH补全,你应该使用chmod -R go-w "$(brew——prefix)/share"
其他回答
在macOS Sierra上,你需要运行: sudo chown -R $(whoami):staff /usr/local
注:此答案为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上正确的默认权限。
在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
发送一个y字符到脚本的输入流使用compinit,以自动回答忽略不安全的目录和文件,并继续[y]或abort compinit [n]?问题
echo "y" > source <GOOGLECLOUDSDK>/ complete .zsh.inc .
解决方案是有用的
不能对文件夹进行所有权/访问更改 当你不能使用-u选项来删除警告时(可能是因为你自己没有显式地调用'compinit',但它是由你调用的脚本调用的)
备注:它不会修复问题,只是隐藏了警告(与这里涉及删除“组写访问权限”或“更改所有权到根”的其他答案相反)。
这是我在https://github.com/zsh-users/zsh-completions/issues/433#issuecomment-600582607上唯一有用的东西。感谢https://github.com/malaquiasdev !
$ cd /usr/local/share/
$ sudo chmod -R 755 zsh
$ sudo chown -R root:staff zsh