How to solve zsh compinit: insecure directories issue on MacOS(其他解决方案失败)
How to solve zsh compinit: insecure directories issue on MacOS (other solutions failed)
我知道这里有很多副本,但他们的所有答案都建议添加
ZSH_DISABLE_COMPFIX="true"
到我的 ~/.zshrc 文件的顶部。我已经这样做了,但每次我打开 zsh 时,都会收到
zsh compinit: insecure directories, run compaudit for list.
Ignore insecure directories and continue [y] or abort compinit [n]?
好像其他人问这个问题在第一个样本中没有引号,但我已经添加了。我也有 运行
来源 ~/.zshrc
据我所知,这会重新加载 zshrc 配置。这仍然给我上述警告。我不确定这些细节是否相关,但我会包括它们:
- 这是在 M1 Macbook 运行ning Big Sur
上新安装的 zsh
- 我还在 zsh 之上安装了 Oh My Zsh
- 我之前 运行 几个导出命令来设置我的 nvm 目录,但我认为这不相关
知道如何解决这个权限问题吗?谢谢
编辑:
compaudit returns
/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 特有的,compinit
本身不使用。手动调用 compinit
时无效。您可以将其从 .zshrc
.
中删除
最后,compinit
不会无缘无故地显示该警告。与其抑制它,不如在 compaudit
列出的目录上执行 chmod g-w,o-w
。这将解决问题并使警告消失。
您想使用:
compinit -u
禁用烦人的权限测试。它不会在 macOS 上增加任何安全性。请参阅 zshcompsys(1)
处的文档。
我知道这里有很多副本,但他们的所有答案都建议添加
ZSH_DISABLE_COMPFIX="true"
到我的 ~/.zshrc 文件的顶部。我已经这样做了,但每次我打开 zsh 时,都会收到
zsh compinit: insecure directories, run compaudit for list.
Ignore insecure directories and continue [y] or abort compinit [n]?
好像其他人问这个问题在第一个样本中没有引号,但我已经添加了。我也有 运行 来源 ~/.zshrc 据我所知,这会重新加载 zshrc 配置。这仍然给我上述警告。我不确定这些细节是否相关,但我会包括它们:
- 这是在 M1 Macbook 运行ning Big Sur 上新安装的 zsh
- 我还在 zsh 之上安装了 Oh My Zsh
- 我之前 运行 几个导出命令来设置我的 nvm 目录,但我认为这不相关
知道如何解决这个权限问题吗?谢谢
编辑:
compaudit returns
/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 特有的,compinit
本身不使用。手动调用 compinit
时无效。您可以将其从 .zshrc
.
最后,compinit
不会无缘无故地显示该警告。与其抑制它,不如在 compaudit
列出的目录上执行 chmod g-w,o-w
。这将解决问题并使警告消失。
您想使用:
compinit -u
禁用烦人的权限测试。它不会在 macOS 上增加任何安全性。请参阅 zshcompsys(1)
处的文档。