не можете меню файл /usr/local для самодельщиков в высоком OSX с 10.13 Сьерра


Homebrew нуждается в разрешениях в /usr / local, и поскольку никто больше не использует мой ноутбук, я всегда просто делал

sudo chown -R $(whoami) $(brew --prefix)

но в высокой Сьерра, это дает

chown: /usr/local: Operation not permitted

что исправить?

9 71

9 ответов:

проблема продолжала возникать... после копания глубже я обнаружил, что только удаление Homebrew, а затем переустановка его решила эту проблему.

Удалить Homebrew:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"

затем переустановите его:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

к сожалению, вы больше не можете chown /usr/local в высокой Сьерра. Обходной путь-это sudo mkdir /usr/local/include и /usr/local/Frameworks если они не существуют, и

sudo chown -R $(whoami) $(brew --prefix)/*

спасибо ilovezfs за этот простой обходной путь и за удивительное домашнее пиво!

вы не можете изменить разрешения для /usr/local сам, но вы можете изменить правильное разрешение для папок внизу , так что это исправлено
sudo chown -R $(whoami) /usr/local/*

я следовал этой но проблема все еще сохраняются.
Итак, я переустановил доморощенного без удаления предыдущего. Теперь это работает!
(Я не знаю как)

Я просто запускаю это, и все заботится о высокой Сьерра:

/usr / bin / ruby-e "$(curl-fsSLhttps://raw.githubusercontent.com/Homebrew/install/master/install)"

попробуйте отключить Защита Целостности Системы. Из документации:

защита целостности системы может быть настроена с помощью команды csrutil(1).

Вы можете проверить, включена ли в настоящее время защита целостности системы в вашей системе, выполнив следующую команду в терминале:

$ csrutil status
System Integrity Protection status: enabled.

чтобы включить или отключить защиту целостности системы, необходимо загрузить ОС восстановления и запустить csrutil (1) команда от терминала.

загрузите для восстановления ОС, перезагрузив компьютер и удерживая клавиши Command и R при запуске. Запустите терминал из меню утилиты. Введите следующую команду: $ csrutil enable

после включения или отключения защиты целостности системы на компьютере требуется перезагрузка.

Если вы используете zsh поскольку вы пришли из bash, вам, возможно,придется изменить свой путь$. вы должны добавить export PATH=$HOME/bin:/usr/local/bin:$PATH in .zshrc

тогда это должно работать, эта проблема решена в моем mac таким образом.

убедитесь, что у вас нет блокировки, установленной на домашнюю папку или любую папку, к которой требуется доступ для установки.

даже если права доступа установлены правильно и вы вошли в правильный пользователь или привилегированный пользователь это не позволит вам создавать новые папки или каталоги.

этот работал от Apple stackexchange

$ cd /usr/local
$ sudo chown -R <your-username>:<your-group-name> *

название группы обычно staff и не забудьте *