Homebrew не устанавливает новые приложения в El Capitan

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

denislexic
источник
1
brew updateфиксированный Warning: You are using OS X 10.11.для меня.
twhoward99

Ответы:

11

Сначала я рекомендую вам пройтись по этому адресу : https://www.reddit.com/r/apple/comments/3994os/rootless_feature_is_in_os_x_1011_and_it_disallows/

Безопасность без корней изменила многое в Эль-Капитане, кроме того, на что вы xcode-selectуказываете? Вы можете использовать, xcode-select -hчтобы увидеть использование, это очень просто.

проницательный
источник
Вы указали мне правильное направление, которое я печатаю, xcode-select -pчто указывало на старую версию Xcode (не бета). Поэтому я переключил путь к Xcode-beta.app примерно так: sudo xcode-select -s /Applications/Xcode-beta.app/Contents/Developer(Пришлось sudo или оно не работает)
denislexic
Рад помочь. другой совет: sudo xcode-select -s /Applications/Xcode-beta.app/должно работать тоже.
Проницательный
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и установить Homebrew.
ohho
источник
Документ, на который вы ссылаетесь, исчез.
Конрад
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)это , безусловно , худшая идея сделать.

C23
источник