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. Не впевнений, що це пов’язано. Про всяк випадок


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(Доводилося судо або це не працює)
15:15

Радий допомогти. ще одна порада: sudo xcode-select -s /Applications/Xcode-beta.app/теж має працювати.
Shrewd

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
  • Відкрийте свою програму Terminal та виконайте:

    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)це, безумовно, найгірша ідея.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.