10

только что обновлен до бета 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. Не уверен, что это связано. Так, на всякий случай

3 ответа3

14

Проверьте El Capitan & Homebrew:

Если /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 & install Homebrew.
11

Сначала я рекомендую вам пройтись по этому адресу :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 чтобы увидеть использование, это очень просто.

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) - определенно худшая идея.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .