🙄
Zsh の初期化エラーを解決するための手順
Zsh の初期化エラーにハマったので解決するための手順を記載
- Zsh の初期化エラーを解決するための手順
エラーメッセージの確認
zsh シェルを起動した際に、以下のようなエラーメッセージが表示されることがあります。
zsh compinit: insecure directories and files, run compaudit for list.
Ignore insecure directories and files and continue [y] or abort compinit [n]?
compaudit コマンドの実行
このエラーを解決するための最初のステップは、compaudit コマンドを実行して、不正な権限を持つディレクトリやファイルを特定することです。
compaudit
権限の確認と修正
compaudit コマンドの出力を確認し、以下のように表示された不正なディレクトリやファイルの権限を修正します。
There are insecure files:
/usr/local/share/zsh/site-functions/_brew
/usr/local/share/zsh/site-functions/_brew_services
これらのファイルの権限を修正するために、以下のコマンドを実行します:
sudo chmod 755 /usr/local/share/zsh/site-functions/_brew
sudo chmod 755 /usr/local/share/zsh/site-functions/_brew_services
sudo chown root:admin /usr/local/share/zsh/site-functions/_brew
sudo chown root:admin /usr/local/share/zsh/site-functions/_brew_services
.zshrc ファイルの確認と編集
次に、zsh の設定ファイルである .zshrc を確認し、適切な設定がされているか確認します。
nano ~/.zshrc
以下が設定されていること
autoload -Uz compinit
compinit -i
ファイルを保存して閉じる(Nanoエディタの場合、Ctrl + Xで終了し、Yで保存、Enterで確定)。
.zcompdump ファイルの削除
zsh のキャッシュファイル(.zcompdump)を削除し、compinit を再実行します。
rm -f ~/.zcompdump
compinit
ターミナルの再起動
新しいターミナルウィンドウを開いて、エラーメッセージが表示されないことを確認する。
参考情報
コマンド | 説明 |
---|---|
compaudit | 不正な権限を持つファイルやディレクトリをリストアップ。 |
sudo chmod 755 [ファイル/ディレクトリ] | 指定されたファイルやディレクトリの権限を 755 に設定。 |
sudo chown root:admin [ファイル/ディレクトリ] | 指定されたファイルやディレクトリの所有者をrootに設定。 |
nano ~/.zshrc | zsh の設定ファイルを開いて編集。 |
rm -f ~/.zcompdump | zsh のキャッシュファイルを削除。 |
compinit | zsh の補完機能を初期化。 |
Discussion