web-dev-qa-db-ja.com

OS X El Capitanに/ usr / includeがない

/usr/includeにいくつかのヘッダーがあるはずのPJSIP libに依存するアプリを構築しようとしていました。しかし、/usr/includeフォルダはなく、自分のアカウントに管理者権限があっても作成できません。

どのようにしてincludeフォルダをアクティブ化/作成/復元できますか?

20
tesla

更新(2016年2月12日):

El Capitanをインストールしましたが、OndřejČertíkの答えが正しいことを確認できました。 SIPを無効にするのではなく、コマンドライン開発者ツールをインストールすることを強くお勧めします。

Ondřejが述べたように、Xcodeをインストールするだけでは、すべてのコマンドライン開発者ツールがインストールされるわけではありません。ターミナルでxcode-select --installを実行する必要があります。


元の投稿(2015年12月5日):

El Capitanでは、rootであっても、/ System、/ bin、/ sbin、/ usr、/ etc、/ tmp、/ varへの書き込みアクセスがデフォルトで無効になっています。これは、新しい Security Integrity Protection 機能によるものです。

SIPを無効にする にするには、リカバリモードで起動し、ターミナルでcsrutil disableコマンドを実行します。

免責事項:El Capitanにまだアップグレードしていないため、私はこれを自分でテストしていません。

15
ilovejersey

デフォルトでは、El CapitanのApp StoreからXcode(「開発者ツール」)をインストールしても、/usr/includeを含む「コマンドライン開発者ツール」はインストールされません。 「コマンドライン開発者ツール」をインストールするには、xcode-select --installを実行します。AppStoreからXcode +コマンドラインツールを取得するかどうかを確認するメッセージが表示されます(ただし、App StoreからXcodeをインストールしてあります。コマンドラインユーティリティは含まれていません)。そのため、「インストール」を選択し、特に/usr/includeをインストールしました。

システム整合性保護(SIP)については、それを有効にしておくと良いようです。 xcode-select --installが保護された/usrディレクトリにインストールできた理由は、おそらくxcode-selectがSIPによってホワイトリストに登録されているためです。

14