Я удалил и установил Homebrew 3 раза сейчас, потому что он, кажется, никогда не позволяет мне устанавливать что-либо, поскольку он отказывает мне в разрешениях в конце большинства установок.
В качестве примера я опубликую сценарий загрузки libjpeg, с которым я сейчас сталкиваюсь.
Я пытаюсь установить libjpeg и получить:
$ brew install libjpeg
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/jpeg-8d.mountain_lion.bottle.1.tar.gz
Already downloaded: /Library/Caches/Homebrew/jpeg-8d.mountain_lion.bottle.1.tar.gz
==> Pouring jpeg-8d.mountain_lion.bottle.1.tar.gz
Warning: Could not link jpeg. Unlinking...
Error: The brew link step did not complete successfully
The formula built, but is not symlinked into /usr/local
You can try again using `brew link jpeg'
Error: Permission denied - /usr/local/opt/jpeg
"brew link jpeg" приводит к
Error: Permission denied - /usr/local/opt/jpeg
Вот что читает мой доктор
$ brew doctor
Warning: "config" scripts exist outside your system or Homebrew directories.
./configure scripts often look for *-config scripts to determine if
software packages are installed, and what additional flags to use when
compiling and linking.
Having additional scripts in your path can confuse software installed via
Homebrew if the config script overrides a system or Homebrew provided
script of the same name. We found the following "config" scripts:
/Library/Frameworks/Python.framework/Versions/2.7/bin/python-config
/Library/Frameworks/Python.framework/Versions/2.7/bin/python2-config
/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7-config
Warning: You have unlinked kegs in your Cellar
Leaving kegs unlinked can lead to build-trouble and cause brews that depend on
those kegs to fail to run properly once built. Run brew link on these:
jpeg
Эта проблема с разрешением делала невозможным использование brew для чего-либо, и я был бы очень признателен за любые предложения.
sudo chown -R $USER:admin /Library/Caches/Homebrew
чтобы избавиться от проблем с разрешениями.admin
группа - это каждый пользователь-администратор (то есть каждый пользователь учетной записи macOS, который можетsudo
, помимо прочего), поэтому, запустивchown -R …:admin
вместеchmod -R g+w /usr/local
(как предложено @AndreaDeGaetano), вы ничего не сделаете здесь и у вас не будет никаких проблем с другие пользователи также используют/usr/local
/brew
.Новая команда для пользователей MacOS High Sierra , как это не представляется возможным
chown
по/usr/local
:bash/zsh
:fish
:Ссылка: Не могу chown / usr / local в Высокой Сьерре
источник
sudo chown -R (whoami) (brew --prefix)/*
sudo mkdir /usr/local/Frameworks
команду chown, как показано в этом ответе.В качестве первого варианта, кто бы ни приземлился здесь, как я, следуйте тому, что предлагает вам сделать:
Это самый безопасный путь, и среди прочего он предложил мне:
который решил эту проблему с разрешениями.
ОП сделал именно это, но, очевидно, не получил вышеуказанное предложение; Вы могли бы, и всегда лучше начинать с этого, и только тогда искать нетривиальные решения, если это не помогло.
источник
chown: /usr/local: Operation not permitted
не работает с 5 июля 2019 годаЕсли вы используете OSX High Sierra,
/usr/local
больше не сможетеchown
. Ты можешь использовать:sudo chown -R $(whoami) $(brew --prefix)/*
источник
У меня не было
/usr/local/Frameworks
папки, так что это исправило ее для меняПервая строка создает новую папку Frameworks для домашнего приготовления (brew). Вторая строка дает этой папке ваши текущие права пользователя, которых достаточно.
Используются следующие команды:
У меня OSX High Sierra
источник
У меня была эта проблема. Рабочим решением является смена владельца
/usr/local
текущего пользователя вместоroot
:Но на самом деле это не правильный путь. Главным образом, если ваша машина является серверной или многопользовательской.
Мое предложение состоит в том, чтобы изменить владельца как указано выше и сделать все, что вы хотите реализовать с помощью Brew .. (обновить, установить ... и т. Д.), А затем вернуть владельца обратно в root как:
Это решило бы проблему и оставило бы владельца в правильном наборе.
источник
Команда из ответов с наибольшим количеством голосов не работает для меня.
Он получил вывод:
Эта команда работает нормально (группа для / usr / local
admin
уже была ):источник
sudo chown -R "$USER":admin /usr/local
Error: Running Homebrew as root is extremely dangerous and no longer supported. As Homebrew does not drop privileges on installation you would be giving all build scripts full access to your system.
chown: /usr/local: Operation not permitted
Я не хотел пока возиться с правами доступа к папкам, поэтому я сделал следующее:
brew doctor
brew upgrade
brew cleanup
После этого я смог продолжить успешно устанавливать мою другую формулу варева.
источник
Если вам нужен более целенаправленный подход, чем общий
chown -R
, вы можете найти этотfix-homebrew
скрипт полезным:Вместо того, чтобы делать
chmod
с вашим пользователем, он даетadmin
группе (к которой вы, вероятно, принадлежите) доступ на запись к определенным каталогам,/usr/local
которые использует homebrew. Это также говорит вам точно, что он собирается сделать, прежде чем делать это.источник
В моем случае / usr / local / Frameworks даже не существовало, поэтому я сделал:
И тогда все заработало как положено.
источник
Это решило проблему для меня.
источник
Я решил мою проблему с этими командами:
источник
Mac OS 10.13.4
В моем случае мне пришлось создатьsudo mkdir /usr/local/Frameworks
иsudo chown -R $(whoami) /usr/local/Frameworks
связать Python!Для многопользовательского Mac это работало для меня:
источник
Все эти предложения могут работать. В последней версии Brew Doctor, были сделаны лучшие предложения.
Во-первых - исправьте беспорядок, который вы, вероятно, уже сделали
/usr/local
, запустив это в командной строке:sudo chown -R root:wheel /usr/local
Затем возьмите на себя ответственность за пути, которые должны быть специально для этого пользователя:
Вся эта информация доступна, если вы запустите,
sudo brew update
а затем прочитаете все предупреждения и ошибки, с которыми вы столкнетесь ...источник
Для меня это сработало после
brew doctor
Команды изменения разрешения привели к другой ошибке
chown: /usr/local: Operation not permitted
источник
На github есть скрипт-убийца, который исправляет perms в / usr / local и каталогах brew, чтобы быть доступным любому, кто является членом группы 'admin'.
https://gist.github.com/jaibeee/9a4ea6aa9d428bc77925
Это лучшее решение, чем выбранный ответ, поскольку, если вы укажете каталоги / usr / local / ___ на $ USER, то вы сломаете других пользователей-администраторов homebrew на этом компьютере.
Вот смелость сценария в то время, когда я отправил это:
источник
В MacOS Mojave у меня также не было разрешения на доступ к
chown
папке / usr / local (sudo chown -R "$USER":admin /usr/local
).sudo chown -R "$USER":admin /usr/local/*
работал для меня, однако, изменяя разрешения всего в локальной папке.Надеюсь, это поможет другим с той же проблемой.
источник
На самом деле это действительно просто, выполните эту команду:
brew doctor
И он скажет вам, что делать, чтобы исправить проблемы с разрешениями, например, в моем случае:
Это была проблема:
И это было решение:
источник
источник
В моем случае возникли проблемы с удалением и переустановкой SaltStack.
После запуска:
Я заметил, что владельцем группы был «персонал». (Кстати, я использую macOS Mojave версии 10.14.3.) Группа персонала может быть связана с моей конфигурацией рабочего места, но я на самом деле не знаю. Несмотря на это, я сохранил группу, чтобы не допустить дальнейшего разрушения.
Я тогда побежал:
После этого я смог успешно удалить его с помощью этой команды (не как root):
источник
Если у вас нет последней версии Homebrew: я «исправил» это в прошлом, заставив Homebrew работать от имени пользователя root, что можно было сделать только путем смены владельца исполняемых файлов Homebrew на root. В какой-то момент они удалили эту функцию.
И я знаю, что они будут давать много предупреждений о том, что он не должен запускаться от имени root, но давай, иначе он не будет работать должным образом.
источник
Я попробовал все на этой странице, в итоге я использовал это решение:
brew uninstall --force brew-cask; brew untap $tap_name; brew update; brew cleanup; brew cask cleanup;
Моя ситуация была похожа на OP, однако моя проблема была вызвана тем, что я запустил sudo с brew cask, а затем неправильно набрал пароль. После этого я застрял с разрешениями, мешающими установке.
источник
Чтобы устранить ошибки для прав Brew при запуске папки
Это решит проблемы, и нам не придется собирать какие-либо каталоги.
источник
brew cleanup --prune-prefix
Я на Каталине, и я получил эту ошибку:
Мне нужно было только набить
Homebrew
каталогисточник
Я использовал эти две команды и спас мою проблему
источник
попробуйте также выполнить эту команду
sudo chmod + t / tmp
источник