не могу выбрать /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
Что такое исправление?
Ответы
Ответ 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, не удаляя предыдущий. Он работает сейчас!
(Я не знаю, как)
Ответ 5
Я просто запускаю это, и все заботится о высокой Сьерре:
/usr/bin/ruby -e "$ (curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Ответ 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 таким образом.
Ответ 9
Этот работал от Apple stackexchange
$ cd /usr/local
$ sudo chown -R <your-username>:<your-group-name> *
Название группы обычно staff
и не забывайте *
Ответ 10
Убедитесь, что у вас не установлена блокировка для домашней папки или любой папки, к которой требуется доступ для установки.
Даже если права доступа и владелец установлены правильно, и в данный момент вы вошли в систему с правильным пользователем/или пользователем Root, это не позволит вам создавать новые папки или каталоги.
Ответ 11
У меня не было папки /user/local/Frameworks, так что это исправило для меня
sudo mkdir -p /usr/local/Frameworks
sudo chown -R $(whoami) /usr/local/Frameworks
У меня OSX High Sierra