![Homebrew не устанавливает новые приложения в El Capitan](https://rvso.com/image/1457461/Homebrew%20%D0%BD%D0%B5%20%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%B0%D0%B2%D0%BB%D0%B8%D0%B2%D0%B0%D0%B5%D1%82%20%D0%BD%D0%BE%D0%B2%D1%8B%D0%B5%20%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F%20%D0%B2%20El%20Capitan.png)
только что обновился до бета-версии El Capitan для разработчиков.
Deniss-MBP:src me$ brew install hg
Warning: You are using OS X 10.11.
We do not provide support for this pre-release version.
You may encounter build failures or other breakage.
==> Downloading https://mercurial.selenic.com/release/mercurial-3.4.2.tar.gz
Already downloaded: /Library/Caches/Homebrew/mercurial-3.4.2.tar.gz
==> make PREFIX=/usr/local/Cellar/mercurial/3.4.2 install-bin
#include <stdio.h>
^
1 error generated.
error: command 'clang' failed with exit status 1
make: *** [build] Error 1
READ THIS: https://git.io/brew-troubleshooting
Warning: You are using OS X 10.11.
We do not provide support for this pre-release version.
You may encounter build failures or other breakage.
Есть идеи, как это сделать?
Примечание: Когда я brew doctor
это делаю, он говорит:
Warning: Your Xcode (6.3.2) is outdated
Please update to Xcode 7.0.
Xcode can be updated from
https://developer.apple.com/downloads
Но у меня на компьютере установлен xcode-beta 7. Не уверен, что это связано. На всякий случай
решение1
Для начала я рекомендую вам ознакомиться с этим: https://www.reddit.com/r/apple/comments/3994os/rootless_feature_is_in_os_x_1011_and_it_disallows/
Безопасность без рута изменила многое в El Capitan, кроме этого, куда вы xcode-select
указываете? Вы можете использовать
xcode-select -h
, чтобы увидеть использование, это очень просто.
решение2
ПроверитьEl Capitan и домашнее пиво:
Если /usr/local
уже существует:
sudo chown $(whoami):admin /usr/local && sudo chown -R $(whoami):admin /usr/local
Если /usr/local
не существует:
- Перезагрузитесь в режим восстановления (удерживайте Cmd+R при загрузке) и откройте Терминал.
- В этом терминале выполните:
csrutil disable
- Перезагрузитесь обратно в OS X.
Откройте приложение «Терминал» и выполните:
sudo mkdir /usr/local && sudo chflags norestricted /usr/local && sudo chown $(whoami):admin /usr/local && sudo chown -R $(whoami):admin /usr/local
Перезагрузитесь обратно в режим восстановления и снова войдите в Терминал.
- В этом терминале выполните:
csrutil enable
- Перезагрузитесь обратно в OS X, и вы сможете записать
/usr/local
и установить Homebrew.
решение3
Создание sudo chown -R $(whoami):admin /usr/local
приведет к поломке любых агентов, которые могут храниться в /usr/local
подпапках, владельцами которых должны быть root:wheel
.
Примечание: в El Capitan root:wheel
— это папка по умолчанию user:group
, которая установлена для /usr/local
и ее подпапок.
Кроме того, у пользователей могут быть сторонние расширения ядра, которые также должны иметь root:wheel
разрешения (например, антивирусное программное обеспечение), в противном случае OS X не позволит их загрузить.
Так что установка /usr/local
на это $(whoami)
— определенно худшая идея.