не может 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 таким образом.

zyqbit
источник
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

ap00724
источник
0

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

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

коушик в
источник