Homebrew nie instaluje nowych aplikacji w El Capitan

10

właśnie uaktualniono do wersji beta El Capitan dla programistów.

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.

Wszelkie pomysły, jak to zrobić?

Uwaga: Kiedy to robię brew doctor, mówi

Warning: Your Xcode (6.3.2) is outdated
Please update to Xcode 7.0.
Xcode can be updated from
  https://developer.apple.com/downloads

Ale mam xcode-beta 7 zainstalowany na moim komputerze. Nie jestem pewien, czy jest to powiązane. W razie czego

denisleksja
źródło
1
brew updatenaprawione Warning: You are using OS X 10.11.dla mnie.
twhoward99

Odpowiedzi:

11

Najpierw polecam przejrzeć to: https://www.reddit.com/r/apple/comments/3994os/rootless_feature_is_in_os_x_1011_and_it_disallows/

Zabezpieczenia bez rootów zmieniły wiele rzeczy w El Capitan, poza tym, do czego zmierzasz xcode-select? Możesz użyć, xcode-select -haby zobaczyć użycie, to bardzo proste.

Sprytny
źródło
Wskazałeś mi właściwy kierunek, xcode-select -pktóry wpisuję, który wskazywał na starą wersję Xcode (nie beta). Więc zmieniłem ścieżkę do Xcode-beta.app w ten sposób: sudo xcode-select -s /Applications/Xcode-beta.app/Contents/Developer( musiałem sudo lub to nie działa)
denislexic
Miło, że mogłem pomóc. inna wskazówka: też sudo xcode-select -s /Applications/Xcode-beta.app/powinna działać.
Sprytny
14

Sprawdź El Capitan & Homebrew :

Jeśli /usr/localjuż istnieje:

sudo chown $(whoami):admin /usr/local && sudo chown -R $(whoami):admin /usr/local

Jeśli /usr/localnie istnieje:

  • Uruchom ponownie w trybie odzyskiwania (przytrzymaj Cmd + R podczas rozruchu) i uzyskaj dostęp do terminala.
  • W tym terminalu uruchom: csrutil disable
  • Uruchom ponownie system operacyjny OS X
  • Otwórz aplikację Terminal i wykonaj:

    sudo mkdir /usr/local && sudo chflags norestricted /usr/local && sudo chown $(whoami):admin /usr/local && sudo chown -R $(whoami):admin /usr/local
    
  • Uruchom ponownie w trybie odzyskiwania i ponownie uzyskaj dostęp do terminala.

  • W tym terminalu wykonaj: csrutil enable
  • Uruchom ponownie system operacyjny OS X, a będziesz mógł pisać /usr/locali instalować Homebrew.
ohho
źródło
Dokument, do którego się odwołujesz, zniknął.
Conrad
3

Wykonanie sudo chown -R $(whoami):admin /usr/localspowoduje uszkodzenie wszystkich agentów, które mogą być przechowywane w /usr/localpodfolderach, które muszą być własnością root:wheel.

Uwaga: w El Capitan root:wheeljest ustawieniem domyślnym user:groupdla /usr/locali jego podfolderów.

Ponadto ludzie mogą mieć rozszerzenia jądra innych firm, które również muszą mieć root:wheeluprawnienia (np. Oprogramowanie antywirusowe), w przeciwnym razie OS X uniemożliwi ich załadowanie.

Tak ustalone /usr/local, aby $(whoami)to zdecydowanie najgorszy pomysł, aby zrobić.

C23
źródło