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


118

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

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

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

chown: /usr/local: Operation not permitted

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


Решено с помощью: sudo chown -R "$ USER": admin / usr / local / *
Марсело Кампусано,

Ответы:


218

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

4
это был единственный способ исправить мое домашнее пиво после обновления "High" Sierra. моя ошибка была: gh4x-mbpr:~ gh4x$ brew link git Linking /usr/local/Cellar/git/2.15.0... Error: Permission denied @ dir_s_mkdir - /usr/local/lib и sudo chown -R $(whoami) $(brew --prefix)/* не помогло ...
gh4x 06

Невероятно. Не удалось в первый раз, сценарий удаления не удалось, вторая установка сработала.
GreenAsJade

Вы можете brew listсначала сохранить вывод в файл, чтобы записать, какие пакеты были установлены.
Джайлс Гардам

1
Ни одно из других исправлений домашнего приготовления Mojave не работало в моей системе. Удаление / переустановка работало отлично.
pkamb

2
Работает также с Каталиной
Gefilte Fish

52

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

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

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


9
Все еще не работает. $ brew update Ошибка: каталог / usr / local недоступен для записи.
Лоуренс Коуп,

Попробуйте удалить и переустановить Homebrew: stackoverflow.com/questions/46459152/…
ruggershawn

как я прокомментировал в другом месте, при удалении удаляются ВСЕ ваши пакеты brew.
jaydel 08

$(brew --prefix)должен оценить /usr/local/, я считаю.
Джордан Стюарт

33

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


1
По-прежнему
Лоуренс Коуп

2
Работает на MacOS High Sierra. Работал. Спасибо.
Принц Одаме

2
У меня работала над: macOS High Sierra 10.13.6
Гейл Парсло

8

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


3
Я рекомендую полностью удалить Homebrew, а затем установить его снова.
k1r8r0wn 07

Множественные установки работали, я не мог исправить это, пока не удалил.
cbowns 08

удаление все испортит. У меня установлено множество пакетов, и мне придется заново их перебирать и устанавливать. К сожалению, раньше все это работало, потому что у меня ЕСТЬ эти пакеты.
jaydel


3

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

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

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

$ csrutil status
System Integrity Protection status: enabled.

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

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

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


Хотя теоретически это может дать ответ на вопрос, было бы предпочтительнее включить сюда основные части ответа и предоставить ссылку для справки.
Джейк Саймонс

3
Это немного похоже на снятие ограждения с вашей настольной пилы. Это работает, и иногда это может быть необходимо, но безопаснее, если вам не нужно этого делать. В любом случае установка себя владельцем / usr / local для работы с домашним пивом всегда казалась хакерской.
Калеб

3
Это крайне не рекомендуется! Это чрезвычайно опасно, если пользователь не делает то, что делает.
Абу Шумон

@oligofren: D: D: D давай, чувак. Расслабьтесь, это не word in contextконкурс английского языка . : D: D Флаг для предупреждения пользователя. Но ладно, тогда вы подбираете для меня формулировки: p: p
Абу Шумон

1

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

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


1

Я тоже на 10,13 High Sierra. Я попробовал предыдущие предложения; ничего не работало. В конце концов я сначала попытался установить инструменты командной строки :

xcode-select --install

а затем (повторно) запустил команду установки brew:

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

и это наконец сработало.


0

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

Даже если разрешения и права собственности установлены правильно, и вы в настоящее время вошли в систему с правильным пользователем / или пользователем root, это не позволит вам создавать новые папки или каталоги.


0

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

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

У меня OSX High Sierra


0

это Кошик. Я использую MacBook Pro с macOS Catalina 10.15.4. Я создал новую учетную запись администратора, но варево выдавало ошибку. Следовательно, я сделал шаг из этого поста. что сработало:

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.