Zsh compinit nasıl çözülür: MacOS'ta güvensiz dizinler sorunu (diğer çözümler başarısız oldu)

Dec 29 2020

Burada bu sorunun birçok kopyası olduğunun farkındayım, ancak tüm yanıtlarının eklenmesini öneririm

ZSH_DISABLE_COMPFIX="true"

~ / .zshrc dosyamın en üstüne. Bunu yaptım ve yine de her açışımda karşılıyorum

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

Görünüşe göre, bu soruyu soran diğerlerinin ilk örnekte doğrunun etrafındaki alıntıları yoktu, ama ben bunu ekledim. Ayrıca ~ / .zshrc kaynağını da çalıştırdım. Zshrc yapılandırmasını yeniden yüklediğini söyleyebilirim. Bu hala bana yukarıdaki uyarıyı veriyor. Bu ayrıntılardan herhangi birinin alakalı olup olmadığından emin değilim, ancak bunları ekleyeceğim:

  • Bu, Big Sur çalıştıran bir M1 Macbook'ta yeni bir zsh kurulumudur
  • Ayrıca zsh'ın üstüne Oh My Zsh yükledim
  • Daha önce nvm dizinimi ayarlamak için birkaç dışa aktarma komutu çalıştırdım, ancak bunun alakalı olacağını düşünmüyorum

Bu izin sorununu nasıl çözeceğiniz hakkında bir fikriniz var mı? Teşekkürler

Düzenle:

Compaudit döner

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

Ayrıca, ~ / .zshrc dosyamdaki diğer standart olmayan girişler de burada (sırayla, ancak aralarında bazı yerleşik şeyler var):

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

Yanıtlar

3 MarlonRichert Dec 29 2020 at 15:44

Sorun şu ki, compinitiki kez çalıştırıyorsunuz : Oh-My-Zsh üzerinden bir kez ve bir kez manuel olarak. $ZSH_DISABLE_COMPFIXsadece Oh-My-Zsh'a özeldir ve compinitkendi başına kullanılmaz . Yani, compinitikinci kez koştuğunuzda , değeri ne olursa olsun yine de şikayet edecek $ZSH_DISABLE_COMPFIX.

Bu nedenle, yalnızca uyarıdan kurtulmak istiyorsanız, .zshrcdosyanızın altındaki 3 satırı kaldırmanız yeterlidir .

Ancak, compinit bu uyarıyı boşuna göstermiyor. Bunu gizlemek yerine, chmod g-w,o-wtarafından listelenen dizinlerde yapmak isteyebilirsiniz compaudit.