'Zsh detects insecure completion-dependent directories
I get the following error messages when I open my terminal, Hyper:
[oh-my-zsh] Insecure completion-dependent directories detected:
drwxrwxr-x 7 dwaynethe2nd admin 224 Apr 25 15:00 /usr/local/share/zsh
drwxrwxr-x 4 dwaynethe2nd admin 128 Apr 25 14:53 /usr/local/share/zsh/site-functions
Solution 1:[1]
This is an issue with ZSH, your shell, not Hyper, your terminal. I actually had the same issue earlier today. There are some solutions in this issue on Github, and I will quote some of them here but I recommend you follow the link and read the comments there.
The first solution is to change the ownership of the problematic directories.
I will not recommend this without knowing more about your environment, but for most people this will fix the issue:
chmod 755 /usr/local/share/zsh
chmod 755 /usr/local/share/zsh/site-functions
The second solution is to set ZSH_DISABLE_COMPFIX=true
(or "true"
in quotes) in your .zshrc
file, to tell ZSH to not check for insecure directories.
The third solution, and the solution that fixed the issue for me, is to initialise compinit with the -u
flag. This will use all the directories found by compaudit
without checking them for security issues. To do this, you will have to change your .zshrc
file or wherever you are configuring autocomplete.
Solution 2:[2]
On my mac, what helped was running brew doctor
The program told me the exact commands to run!
Solution 3:[3]
Reinstalling brew solved this problem for me.
Uninstall brew:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)"
Install brew:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Solution 4:[4]
Executing two commands solved my issue.
sudo chown -R $(whoami) /usr/local/share/zsh /usr/local/share/zsh/site-functions
chmod u+w /usr/local/share/zsh/usr/local/share/zsh/site-functions
Solution 5:[5]
For me, the site-functions were symlinked to Homebrew directories.
/usr/local/share/zsh/site-functions/_brew -> ../../../Homebrew/completions/zsh/_brew
So the only thing that would work is to issue the command against those directories directly.
sudo chown -R $USER /opt/homebrew/completions/zsh/_brew
Or for cellars
sudo chown -R $USER /opt/homebrew/Cellar/ripgrep/13.0.0/share/zsh/site-functions/_rg
I'm not sure whether this will pop up again when running brew update
.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | |
Solution 2 | azizbro |
Solution 3 | Tapas Pal |
Solution 4 | Dharman |
Solution 5 | What Would Be Cool |