如何解决zshcompinit:MacOS上的不安全目录问题(其他解决方案失败)

我知道这里有很多这个问题的副本,但他们的所有答案都建议添加

ZSH_DISABLE_COMPFIX="true"

到我的 ~/.zshrc 文件的顶部。我已经这样做了,但每次打开 zsh 时,我都会受到欢迎

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

似乎其他问这个问题的人在第一个样本中没有引用真实的引号,但我已经添加了。我还运行了 source ~/.zshrc 据我所知,它重新加载了 zshrc 配置。这仍然给了我上述警告。我不确定这些细节中的任何一个是否相关,但我会包括它们:

  • 这是运行 Big Sur 的 M1 Macbook 上的新 zsh 安装
  • 我还在 zsh 之上安装了 Oh My Zsh
  • 我之前运行了几个导出命令来设置我的 nvm 目录,但我认为这无关紧要

知道如何解决此权限问题吗?谢谢

编辑:

comaudit 回报

/usr/local/share/zsh/site-functions
/usr/local/share/zsh

此外,这里是我的 ~/.zshrc 文件中的其他非标准条目(按顺序排列,但中间有一些内置内容):

ZSH_DISABLE_COMPFIX="true"
export NVM_DIR=~/.nvm
source $(brew --prefix nvm)/nvm.sh
export PATH="/usr/local/opt/icu4c/bin:$PATH"
export PATH="/usr/local/opt/icu4c/sbin:$PATH"
export PATH=$HOME/bin:/usr/local/bin:$PATH
plugins=(git)
source $ZSH/oh-my-zsh.sh
zstyle :compinstall filename '/Users/jonahsaltzman/.zshrc'
# End of lines configured by zsh-newuser-install
# The following lines were added by compinstall
autoload -Uz compinit
compinit

回答

首先,这里的一个问题是您运行compinit 两次:一次通过 Oh-My-Zsh(当您这样做时source $ZSH/oh-my-zsh.sh)和一次手动。您有两个选项可以解决此问题:

  • 如果您想继续使用 Oh-My-Zsh,那么您应该从.zshrc文件中删除底部 3 行。
  • 如果您想停止使用 Oh-My-Zsh,那么您应该同时删除plugins=(git)source $ZSH/oh-my-zsh.sh

其次,请注意,这$ZSH_DISABLE_COMPFIX是特定于 Oh-My-Zsh 并且不单独使用的compinitcompinit手动调用时无效。您可以将其从.zshrc.

最后,compinit不会无故显示该警告。而不是抑制它,你应该chmod g-w,o-w在列出的目录上做compaudit。这将解决问题并使警告消失。


以上是如何解决zshcompinit:MacOS上的不安全目录问题(其他解决方案失败)的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>