После переключения моей оболочки с bash
на zsh
с обновлением macOS Catalina, Homebrew и zsh борются за то, чтобы им нужно было владеть /usr/local/share/zsh/site-functions
и /usr/local/share/zsh
.
zsh предпочитает, чтобы/usr/local/share/zsh/**/*
принадлежит root
, и в противном случае вызывает раздражающую ошибку
zsh compinit: insecure directories and files, run compaudit for list.
Ignore insecure directories and files and continue [y] or abort compinit [n]?
каждый раз, когда я вхожу в систему как root, например, через sudo -s
.
Я запускал compaudit
в качестве пользователя root chown root
'd и chmod g-w
' d всех каталогов, перечисленных в нем. Это удовлетворено zsh
, но теперь homebrew
не удовлетворено.
Любой brew
install
или upgrade
завершается с ошибкой
Error: The following directories are not writable by your user:
/usr/local/share/zsh
/usr/local/share/zsh/site-functions
You should change the ownership of these directories to your user.
sudo chown -R $(whoami) /usr/local/share/zsh /usr/local/share/zsh/site-functions
And make sure that your user has write permission.
chmod u+w /usr/local/share/zsh /usr/local/share/zsh/site-functions
brew doctor
выдает то же сообщениев качестве предупреждения.
Есть ли компромисс между двумя? Или одно из этих предупреждений я могу смело подавить? Если да, то как?