Brew врач говорит: "Предупреждение:/usr/local/include не доступно для записи".
Brew врач говорит:
Предупреждение:/usr/local/include не доступно для записи. Это может произойти, если вы используете программное обеспечение "sudo make install", которое не управляется Homebrew.
Если brew пытается записать заголовочный файл в этот каталог, установите произойдет сбой во время этапа ссылки.
Вероятно, вы должны chown
/usr/local/include
Я пробовал разные команды, чтобы решить эту проблему, но я все еще застрял здесь.
Я запускаю homebrew на 10.8.2
Ответы
Ответ 1
Возьми на себя ответственность за все это.
Mac OS High Sierra или новее: (связывайтесь с Кирком в комментариях ниже)
$ sudo chown -R $(whoami) $(brew --prefix)/*
Предыдущие версии macos:
$ sudo chown -R $USER:admin /usr/local/include
Тогда сделай другой
$ brew doctor
Ответ 2
То, что сработало для меня, тоже было
sudo chmod g+w /usr/local
sudo chgrp staff /usr/local
Ответ 3
Что сработало для меня, было
$ sudo chown -R yourname:admin /usr/local/bin
Ответ 4
Единственный, кто работал у меня на El Capitan, был:
sudo chown -R $(whoami) /usr/local
Ответ 5
Для Высокой Сьерры:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Затем попробуйте свои команды заваривать.
Выпуск № 3285
Ответ 6
Если вы находитесь в Высшей Сьерре и столкнулись с этой проблемой, выполните следующие действия (Примечание: /usr/local не может быть chown'd в Высшей Сьерре):
sudo mkdir /usr/local/include
sudo chown -R $(whoami) $(brew --prefix)/*
Тогда попробуйте связать с brew link. Я столкнулся с подобной проблемой, и ни одно из вышеприведенных решений не сработало для High Sierra. Надеюсь, это кому-нибудь поможет.
Ответ 7
Вы можете использовать команду для исправления этой проблемы в своем .bash_profile
и запускать ее каждый раз, когда вы сталкиваетесь с ней:
В конце файла ~/.bash_profile
добавьте:
alias fix_brew='sudo chown -R $USER /usr/local/'
И теперь внутри вашего терминала вы можете запустить:
$ fix_brew
Ответ 8
Это сработало для меня на macOS 10.12
sudo chown -R $(whoami) /usr/local
У меня была проблема с обновлением homebrew со следующей ошибкой:
/usr/local is not writable. You should change the ownership
and permissions of /usr/local back to your user account:
sudo chown -R $(whoami) /usr/local
Ответ 9
Работайте для меня
$ sudo chown -R $(whoami):admin /usr/local
$ cd /usr/local/Library && git stash && git clean -d -f
Ответ 10
Для некоторых это будет:
sudo chown -R JonJames:admin /usr/local/lib
где используется "lib", а не "bin" или "include" или "whatever else"
The Homebrew Предупреждение "должно" объяснить, что конкретно не доступно для записи, а затем дать вам синтаксис команды для последующего использования, однако вам нужно будет использовать ":", в отличие от того, что предупреждает, на самом деле не правильный синтаксис??
Ответ 11
Такая же ошибка в MacOS 10.13
/usr/local/include
и /usr/local/
/usr/lib
не были созданы. Я вручную создал и brew link
, наконец, работал.
Ответ 12
Что сработало для меня, хотя у меня более 1 пользователя на моем компьютере.
Используя терминал:
- Бегущий
brew doctor
- Просмотр нескольких
/usr/local/...
не допускает записи ошибок
- Отключение защиты целостности системы Mac: https://apple.stackexchange.com/a/208481/55628
- Запустите следующее
-
sudo chown -R $(whoami)/usr/local/*
-
brew doctor && brew upgrade && brew doctor
Работает Macbook Pro OSX High Sierra (версия 10.13.3.)
РЕДАКТИРОВАТЬ 1:
К вашему сведению - пожалуйста, имейте в виду, что это вызывает проблему с запуском MySQL на вашем MAC.
Чтобы иметь возможность запустить мой локальный сервер, мне нужно было выполнить:
sudo chown -R mysql:mysql /usr/local/mysql/data
После этого вы можете запустить свой локальный сервер MySQL.
Ответ 13
Вам нужно создать /usr/local/include и /usr/local/lib, если они не существуют:
$ sudo mkdir -p /usr/local/include
$ sudo chown -R $USER:admin /usr/local/include
Ответ 14
Вам нужно получить контроль над целым /usr/local
, чтобы сделать это, чтобы сделать рекурсивный chown
под /usr/local
sudo chown -R YOUR_USERNAME:admin /usr/local/
Ответ 15
sudo mkdir -p /usr/local/include /usr/local/lib /usr/local/sbin
sudo chown -R $(whoami) /usr/local/include /usr/local/lib /usr/local/sbin
Это создаст все необходимые каталоги и даст ему правильное владение.
После выполнения этих команд проверьте: brew doctor
Это работает для Мохаве.
Ответ 16
У меня это произошло в моей организации после того, как все наши пользователи были привязаны к активному каталогу (эффективно меняя UID с 50x на ######).
Теперь это просто случай изменения права собственности на все файлы, принадлежащие x на y.
Где 501 - мой старый цифровой идентификатор пользователя, который все еще связан со всеми домашними файлами.
Старый идентификатор пользователя можно найти с помощью ll /usr/local/Cellar
Теперь обновите право собственности
sudo find /usr/local -user 501 -exec chown -h $USER {} \;
Таким образом мы избегаем изменения права собственности на файлы, которые не контролируются доморощенным или принадлежат к другому пользователю системы.
Ответ 17
Перейдите в каталог /bin и введите:
chown -R $ (whoami): admin/usr/local/bin
Ответ 18
Я просто хочу повторить скромный комментарий sam9046 как альтернативное и потенциально гораздо более простое решение, которое сработало в моем случае: удалить и снова установить homebrew с нуля. Команды sudo не требуются.
Вы также можете просмотреть/изменить скрипт удаления по этой ссылке выше, если вам нужно убедиться, что он не повлияет на ваши ранее установленные пакеты. В моем случае это была просто моя домашняя машина, поэтому я просто начал все сначала.
Ответ 19
Сначала вам нужно создать каталог:
sudo mkdir /usr/local/include
Во-вторых:
sudo chown -R $(whoami) $(brew --prefix)/*
Ответ 20
sudo mkdir -p/usr/local/include/usr/local/lib/usr/local/sbin
sudo chown -R $(whoami)/usr/local/include/usr/local/lib/usr/local/sbin
Это создаст все необходимые каталоги и установит правильные разрешения.
После выполнения этой команды выполните команду: brew doctor
для проверки.
Это работает на Мохаве.
Ответ 21
Что сработало для меня (выпуск № 3285):
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"