2012-10-24 28 views
25

當從安裝(無Xcode的)蘋果的開發者網站上的獨立的命令行工具包在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是有用的調試幫助。標誌 - 沒有緩存可以用來旁路緩存查找「,但沒有的,這似乎有任何效果:只輸出保持上述...

解決方案:遵循以下斯內德Deily的建議,我已經取代用shell腳本xcrun簡單地調用指定的參數:

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

通過「命令行安裝的工具「,你的意思是你只有通過蘋果開發者站點安裝的獨立的'Command Line Tools'軟件包出去安裝'Xcode.app'還是安裝了Xcode.app,然後從'Xcode.app'' Preferences'菜單安裝了'Command Line Tools'組件? –

+0

Apple開發者網站的獨立軟件包。 - 我修改了這個問題,使其更加清晰。對此感到抱歉。 –

+0

這很容易覆蓋我的路徑:'export PATH = $ HOME/local/bin:$ PATH'指定一個覆蓋文件'〜/ local/bin/xcrun'來包含hack。我還必須運行'sudo xcode-select -switch/usr/bin'來匹配'-print-path'。 – chrischris

回答

24

不幸的是,至少我最後一次用它玩,我發現你真的不能只獨立Command Line Tools包使用xcrun。它顯然不是爲那個用例設計的;獨立軟件包是Xcode 4的一個相當新的創新。如果您嘗試安裝的產品確實取決於xcrun,則可能需要安裝完整的Xcode.app分發版才能解決此問題。那,或者修改發行版的Makefile等不要使用xcrun。或者,可能(未經測試),創建一些目錄和/或符號鏈接來僞造xcrun,認爲您已安裝Xcode.app - 一個混亂的黑客。

+11

多麼骯髒的黑客!我不知道它什麼時候會回來咬我: 我用兩行shell腳本替換了xcrun: #!/ bin/bash $ @ –

+1

heh。另一件事:獨立的命令行工具不提供像Xcode一樣的SDK。因此,如果您正在構建需要SDK的較早版本的操作系統,則需要完整的Xcode安裝。 –

+2

哇。這黑客爲我工作!這不是很好,但比安裝一個我不需要的廢話更好。 –

12

即使安裝命令行工具,您的Xcode選怪應該指向您的Xcode包,不/usr/bin

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

它切換,Xcode的是這樣的:

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

我只是安裝了命令行工具,而不是Xcode。設置到/ usr/bin的路徑對我來說最有意義,因爲編譯器駐留在那裏......切換因此導致錯誤:'xcode-select:Error:Path「/Applications/Xcode.app」不是目錄。「# –

0

我在使用brew install hg時遇到了麻煩。它窒息了xcodebuild -version的輸出。

這是一個可怕的黑客攻擊,但我用一個shell腳本替換了/ usr/bin/xcodebuild,它只是回顯「4.3」,並且能夠成功安裝mecurial。

18

類型在控制檯上的這些命令:

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

輸入以下到您的虛擬xcrun文件:

#!/bin/sh 
[email protected] 

然後使其可執行:

sudo chmod 755 /usr/bin/xcrun 
+0

這對我有效! – DevDude

+0

xcode-select:錯誤:無效的開發人員目錄'/ usr/bin'? –

相關問題