Подтвердить что ты не робот

не могу выбрать /usr/local для домашнего пивовара в Mac OS X 10.13 High Sierra

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

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

но в High Sierra это дает

chown: /usr/local: Operation not permitted

Что такое исправление?

4b9b3361

Ответ 1

Проблема продолжалась... после углубления я обнаружил, что только удаление 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)"

Ответ 2

К сожалению, вы больше не можете chown /usr/local в High Sierra. Обходной путь заключается в sudo mkdir /usr/local/include и /usr/local/Frameworks, если они не существуют, и

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

Благодаря ilovezfs для этого простого обходного пути и для удивительного доморощенного!

Ответ 3

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

Ответ 4

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

Ответ 6

Проблема все еще сохраняется в последней MacOS, то есть в Mojave. Удаление и переустановка Homebrew не решает проблему с правами доступа к каталогу. На самом деле это никак не связано с установкой Homebrew!

Когда мы делаем brew install python он просто заливает brew python и затем пытается создать символическую ссылку в /usr/local dir, для которой brew не имеет разрешения. И когда мы пытаемся выполнить sudo chown -R $(whoami)/usr/local это не работает, потому что требует дополнительных привилегий, которых нет у обычных пользователей Mac (т.е. вашего имени пользователя). Но, как упомянул в своем ответе @Reza, разрешение любого каталога под ним может быть изменено. просто введите следующую команду:

sudo chown -R $(whoami) /usr/local/*

Ответ 7

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

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

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

$ csrutil status
System Integrity Protection status: enabled.

Чтобы включить или отключить защиту целостности системы, вы должны загрузиться в Recovery OS и запустить команду csrutil (1) из Терминала.

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

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

Ответ 8

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

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

Ответ 10

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

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

Ответ 11

У меня не было папки /user/local/Frameworks, так что это исправило для меня

sudo mkdir -p /usr/local/Frameworks
sudo chown -R $(whoami) /usr/local/Frameworks

У меня OSX High Sierra