開発者向けのベータ版 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
チェックアウトエルキャピタンと自作:
すでに存在する場合/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 を再起動すると、Homebrew への書き込みとインストールが可能になります
/usr/local
。
答え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)
は間違いなく最悪のアイデアです。