Как решить zsh compinit: проблема с небезопасными каталогами в 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]?
Кажется, что у других, задающих этот вопрос, не было кавычек вокруг истины в первом примере, но я добавил это. Я также запустил исходный код ~ / .zshrc, который, насколько я могу судить, перезагружает конфигурацию zshrc. Это все еще дает мне указанное выше предупреждение. Я не уверен, может ли какая-либо из этих деталей быть актуальной, но я включу их:
- Это новая установка zsh на Macbook M1 под управлением Big Sur.
- У меня также установлен Oh My Zsh поверх zsh
- Ранее я запускал несколько команд экспорта, чтобы установить каталог nvm, но я не думаю, что это будет актуально
Есть идеи, как решить эту проблему с разрешениями? Спасибо
Редактировать:
compaudit возвращает
/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 и один раз вручную. $ZSH_DISABLE_COMPFIX
относится только к Oh-My-Zsh и не используется compinit
сам по себе. Итак, когда вы запускаете compinit
второй раз, он все равно будет жаловаться, независимо от значения $ZSH_DISABLE_COMPFIX
.
Таким образом, если вы просто хотите избавиться от предупреждения, просто удалите из .zshrc
файла 3 нижние строки .
Однако compinit
не зря показывает это предупреждение. Вместо того, чтобы подавлять его, вы можете сделать это chmod g-w,o-w
в каталогах, перечисленных в compaudit
.