Zsh कंपिनिट को कैसे हल करें: MacOS पर असुरक्षित निर्देशिका समस्या (अन्य समाधान विफल)

Dec 29 2020

मुझे पता है कि इस प्रश्न की कई प्रतियां यहाँ हैं, लेकिन उनके सभी उत्तर जोड़ने की सलाह देते हैं

ZSH_DISABLE_COMPFIX="true"

मेरी ~ / .zshrc फ़ाइल के शीर्ष पर। मैंने यह किया है और अभी भी हर बार जब मैं ज़ीश खोलता हूं तो मुझे शुभकामनाएं दी जाती हैं

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

ऐसा लगता है कि यह सवाल पूछने वाले अन्य लोगों के पास पहले नमूने में सही के आसपास उद्धरण नहीं थे, लेकिन मैंने इसे जोड़ा है। मैंने भी स्रोत ~ / .zshrc चलाया है जहाँ तक मैं zshrc कॉन्फ़िगरेशन को पुनः लोड कर सकता हूं। यह अभी भी मुझे उपरोक्त चेतावनी देता है। मुझे यकीन नहीं है कि इनमें से कोई भी विवरण प्रासंगिक हो सकता है लेकिन मैं उन्हें शामिल करूंगा:

  • यह बिग सर् को चलाने वाले M1 मैकबुक पर एक नया 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

जवाब

3 MarlonRichert Dec 29 2020 at 15:44

समस्या यह है कि आप compinitTWICE चला रहे हैं : एक बार ओह-माय-ज़श के माध्यम से और एक बार मैन्युअल रूप से। $ZSH_DISABLE_COMPFIXकेवल ओह-माय-ज़श के लिए विशिष्ट है और compinitस्वयं द्वारा उपयोग नहीं किया जाता है। इसलिए, जब आप compinitदूसरी बार भागते हैं , तो यह अभी भी शिकायत करने वाला है, कोई फर्क नहीं पड़ता $ZSH_DISABLE_COMPFIX

इस प्रकार, यदि आप बस चेतावनी से छुटकारा पाना चाहते हैं, तो बस अपनी .zshrcफ़ाइल से नीचे की 3 पंक्तियों को हटा दें ।

हालाँकि, compinit उस चेतावनी को कुछ भी नहीं दिखाता है। इसे दबाने के बजाय, आप इसके chmod g-w,o-wद्वारा सूचीबद्ध निर्देशिकाओं पर करना चाह सकते हैं compaudit