web-dev-qa-db-ja.com

OSX 10.8 xcrun(そのようなファイルやディレクトリはありません)

AppleのDeveloperサイトからスタンドアロンのコマンドラインツールパッケージがインストールされている(Xcodeなし)OSX10.8でgem install jekyllを実行すると、次のエラーが発生します。

ネイティブ拡張の構築。これにはしばらく時間がかかる場合があります...

エラー:jekyllのインストール中にエラーが発生しました:

エラー:gemネイティブ拡張のビルドに失敗しました。

xcrun cc -I. -I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/Ruby/1.8/universal-darwin12.0 -I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/Ruby/1.8/universal-darwin12.0 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE   -fno-common -Arch i386 -Arch x86_64 -g -Os -pipe -fno-common -DENABLE_DTRACE  -fno-common  -pipe -fno-common   -c porter.c
xcrun: Error: failed to exec real xcrun. (No such file or directory)

gccがインストールされています:

$ which cc
/usr/bin/cc

xcrunのルックアップパスが設定されます。

xcode-select -print-path
/usr/bin

それでも、どの引数を試しても、xcrunは常に戻ります

xcrun:エラー:実際のxcrunの実行に失敗しました。 (そのようなファイル、又はディレクトリはありません)

man xcrunは「xcrunがxcrunという名前で呼び出された場合、フラグ-logおよび-verboseは便利なデバッグ支援です。フラグ-no-cacheを使用してキャッシュルックアップをバイパスできます。」しかし、これは何の効果もないようです。唯一の出力は上記のままです…

解決策:以下のNed Deilyのアドバイスに従って、xcrunをシェルスクリプトに置き換えて、指定された引数を呼び出すだけです。

#!/bin/bash
$@
26
Lukas Grebe

残念ながら、少なくとも前回それを試してみたとき、スタンドアロンのCommand Line Toolsパッケージだけではxcrunを実際に使用できないことがわかりました。どうやらそのユースケース向けに設計されたものではありません。スタンドアロンパッケージは、Xcode4のごく最近の革新です。インストールしようとしている製品が本当にxcrunに依存している場合、それを回避するために完全なXcode.appディストリビューションをインストールする必要があるかもしれません。または、xcrunを使用しないようにディストリビューションのMakefileなどを変更します。または、おそらく(テストされていない)、ディレクトリやシンボリックリンクを作成して、xcrunを偽造してXcode.appがインストールされていると思い込ませます。これは厄介なハックです。

24
Ned Deily

コンソールで次のコマンドを入力します。

Sudo xcode-select -switch /usr/bin
Sudo mv /usr/bin/xcrun /usr/bin/xcrun-orig
Sudo vim /usr/bin/xcrun

ダミーのxcrunファイルに次のように入力します。

#!/bin/sh
$@

次に、実行可能にします。

Sudo chmod 755 /usr/bin/xcrun
18
bitoiu

コマンドラインツールがインストールされていても、xcode-selectは奇妙です。 /usr/binではなく、XCodeバンドルを指している必要があります。

$ xcode-select -print-path
/Applications/Xcode.app/Contents/Developer

次のようにXcodeに切り替えます。

$ Sudo xcode-select --switch /Applications/Xcode.app
13
Rob Napier

Brew installhgで問題が発生しました。 xcodebuild-versionの出力で窒息していました。

これは恐ろしいハックですが、/ usr/bin/xcodebuildを、「4.3」をエコーし​​たばかりのシェルスクリプトに置き換え、mecurialを正常にインストールできました。

0
deinspanjer