2012-10-24 15 views
25

(なしXcodeの)インストールされていないAppleの開発者向けサイトからスタンドアロンのコマンドラインツールパッケージでOSX 10.8にgem install jekyllを実行し、私は次のエラーに遭遇:OSX 10.8 xcrun(そのようなファイルまたはディレクトリ)

Building native extensions. This could take a while...

ERROR: Error installing jekyll:

ERROR: Failed to build gem native extension.

...

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: Error: failed to exec real xcrun. (No such file or directory)

man xcrun xcrunが名前xcrunで呼び出された場合、フラグは-logと-verbose」読み込みを返します。便利なデバッグ支援ツールです。 。-no-キャッシュフラグがバイパスキャッシュ検索に使用することができます」が、これはいずれも任意の効果を持っていると思わない:以下ネッドDeilyのアドバイス以下、私は交換しました:唯一の出力は、上記...

ソリューションのまま単に与えられた引数を呼び出すためのシェルスクリプトとxcrun:

#!/bin/bash 
[email protected] 
+0

をコマンドライン」により、

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

は、あなたのダミーxcrunファイルに次のように入力します。 「ツールがインストールされました」ということは、Apple Developerサイトからインストールされたスタンドアローンの「コマンドラインツール」パッケージしか持っていないことを意味しますか? Xcode.appをインストールするか、Xcode.appをインストールして、 'Xcode.app'' Preferences'メニューから 'Command Line Tools'コンポーネントをインストールしましたか? –

+0

Appleの開発者サイトのスタンドアロンパッケージ。 - これをもっと明確にするために質問を修正しました。混乱をおかけして申し訳ありません。 –

+0

'〜/ local/bin/xcrun'のオーバーライドファイルを指定してハックを含めるには、' export PATH = $ HOME/local/bin:$ PATH'という私のパスをオーバーライドするのは簡単でした。 '-print-path'にマッチさせるために' sudo xcode-select -switch/usr/bin'を実行しなければなりませんでした。 – chrischris

答えて

24

残念ながら、私はそれで遊ん少なくとも最後の時間は、私はあなたが本当にただスタンドアロンCommand Line Toolsパッケージでxcrunを使用することはできません発見しました。それは明らかにそのユースケースのために設計されていませんでした。スタンドアロンパッケージは、Xcode 4のかなり最近の技術革新です。インストールしようとしている製品が実際にxcrunに依存している場合は、それを回避するために完全なXcode.appディストリビューションをインストールする必要があります。つまり、配布ファイルのMakefileらを変更してxcrunを使用しないようにしてください。または、おそらく(テストされていない)、Xcode.appがインストールされていると思って、xcrunを偽造するためにいくつかのディレクトリやシンボリックリンクを作成します。

+11

これは、コンパイラがそこに常駐しているので、パスを/ usr/binに設定するのが最も理にかかりました。どのような汚れたハック! xcrunを2行のシェルスクリプトに置き換えました: #!/ bin/bash $ @ –

+1

Heh。別のこと:スタンドアロンのコマンドラインツールは、完全なXcodeのようなSDKを提供しません。したがって、構築するものに以前のOSレベルのSDKが必要な場合は、完全なXcodeをインストールする必要があります。 –

+2

うわー。そのハックは私のために働いた!それは可愛いわけではありませんが、私が必要としないくらいのものをインストールするよりも優れています。 –

12

コマンドラインツールがインストールさえしては、あなたのXcodeの選択は奇妙であることが/usr/bin、あなたのXCodeのバンドルにはない指している必要があります。

$ xcode-select -print-path 
/Applications/Xcode.app/Contents/Developer 
このようにXcode向けに切り替え

$ sudo xcode-select --switch /Applications/Xcode.app 
+4

Xcodeではなく、コマンドラインツールがインストールされています。 'xcode-select:Error:Path" /Applications/Xcode.app "はディレクトリではありません。" –

0

私はbrew install hgに問題がありました。それはxcodebuild -versionの出力を窒息させていました。

これはひどいハックですが、私は/ usr/bin/xcodebuildを「4.3」とエコーしたシェルスクリプトで置き換え、正常にmecurialをインストールすることができました。コンソール上でこれらのコマンドで

18

タイプ:

#!/bin/sh 
[email protected] 

は次にそれを実行可能にします。:

sudo chmod 755 /usr/bin/xcrun 
+0

これは私のために働いた! – DevDude

+0

xcode-select:エラー:開発者ディレクトリ '/ usr/bin'が無効ですか? –

関連する問題