Jak rozwiązać zsh compinit: problem z niezabezpieczonymi katalogami na MacOS (inne rozwiązania nie powiodły się)
Zdaję sobie sprawę, że istnieje wiele kopii tego pytania, ale wszystkie ich odpowiedzi zalecają dodanie
ZSH_DISABLE_COMPFIX="true"
na początek mojego pliku ~ / .zshrc. Zrobiłem to i nadal za każdym razem, gdy otwieram zsh, jestem witany
zsh compinit: insecure directories, run compaudit for list.
Ignore insecure directories and continue [y] or abort compinit [n]?
Wygląda na to, że inni zadający to pytanie nie mieli cudzysłowów wokół prawdy w pierwszej próbce, ale dodałem to. Uruchomiłem również source ~ / .zshrc, który, o ile wiem, ładuje ponownie konfigurację zshrc. To wciąż daje mi powyższe ostrzeżenie. Nie jestem pewien, czy którekolwiek z tych szczegółów mogą być istotne, ale dołączę je:
- To jest nowa instalacja zsh na M1 Macbook z systemem Big Sur
- Mam też zainstalowany Oh My Zsh na zsh
- Wcześniej uruchomiłem kilka poleceń eksportu, aby ustawić mój katalog nvm, ale nie sądzę, aby to miało znaczenie
Masz pomysł, jak rozwiązać ten problem z uprawnieniami? Dzięki
Edytować:
compaudit zwraca
/usr/local/share/zsh/site-functions
/usr/local/share/zsh
Tutaj są również inne niestandardowe wpisy w moim pliku ~ / .zshrc (w kolejności, ale między nimi jest kilka wbudowanych rzeczy):
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
Odpowiedzi
Problem polega na tym, że uruchamiasz compinit
DWUKROTNIE: raz przez Oh-My-Zsh i raz ręcznie. $ZSH_DISABLE_COMPFIX
jest specyficzny tylko dla Oh-My-Zsh i nie jest używany compinit
samodzielnie. Tak więc, gdy biegniesz compinit
po raz drugi, nadal będzie narzekać, bez względu na wartość $ZSH_DISABLE_COMPFIX
.
Tak więc, jeśli chcesz po prostu pozbyć się ostrzeżenia, po prostu usuń trzy ostatnie wiersze z .zshrc
pliku.
Jednak compinit
nie wyświetla tego ostrzeżenia na darmo. Zamiast go ukrywać, możesz zamiast tego chcieć zrobić chmod g-w,o-w
na katalogach wymienionych przez compaudit
.