Cara mengatasi zsh compinit: masalah direktori tidak aman di MacOS (solusi lain gagal)

Dec 29 2020

Saya sadar ada banyak salinan dari pertanyaan ini di sini, tetapi semua jawaban mereka merekomendasikan untuk ditambahkan

ZSH_DISABLE_COMPFIX="true"

ke bagian atas file ~ / .zshrc saya. Saya telah melakukan ini dan masih setiap kali saya membuka zsh saya disambut

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

Tampaknya orang lain yang menanyakan pertanyaan ini tidak memiliki kutipan sekitar yang benar pada sampel pertama, tetapi saya telah menambahkannya. Saya juga menjalankan source ~ / .zshrc Yang sejauh yang saya tahu memuat ulang konfigurasi zshrc. Ini masih memberi saya peringatan di atas. Saya tidak yakin apakah salah satu dari detail ini mungkin relevan, tetapi saya akan menyertakannya:

  • Ini adalah instalasi zsh baru pada Macbook M1 yang menjalankan Big Sur
  • Saya juga menginstal Oh My Zsh di atas zsh
  • Saya sebelumnya menjalankan beberapa perintah ekspor untuk mengatur direktori nvm saya tetapi saya tidak berpikir itu akan relevan

Ada ide bagaimana mengatasi masalah izin ini? Terima kasih

Edit:

compaudit kembali

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

Juga, berikut adalah entri tidak standar lainnya di file ~ / .zshrc saya (secara berurutan, tetapi ada beberapa hal bawaan di antaranya):

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

Jawaban

3 MarlonRichert Dec 29 2020 at 15:44

Masalahnya adalah Anda menjalankan compinitDUA KALI: Sekali melalui Oh-My-Zsh dan sekali secara manual. $ZSH_DISABLE_COMPFIXkhusus untuk Oh-My-Zsh saja dan tidak digunakan dengan compinitsendirinya. Jadi, ketika Anda menjalankan compinituntuk kedua kalinya, itu masih akan mengeluh, tidak peduli nilainya $ZSH_DISABLE_COMPFIX.

Jadi, jika Anda hanya ingin menghilangkan peringatan tersebut, hapus saja 3 baris terbawah dari .zshrcfile Anda .

Namun, compinit tidak menunjukkan peringatan itu secara sia-sia. Daripada menyembunyikannya, Anda mungkin ingin melakukannya chmod g-w,o-wpada direktori yang terdaftar oleh compaudit.