2012-08-07 31 views
0

升級到Mountain Lion(10.8)和XCode 4.4並從XCode首選項窗格安裝XCode命令行實用程序後,我無法編譯node.js( 0.8.5)來源。具體來說,配置腳本相信我沒有安裝C編譯器。使用XCode4.4設置環境變量以在Mountain Lion上編譯節點

在我看來,命令行工具所需的環境變量在某種程度上丟失了。我試過sudo xcode-select --switch /Applications/Xcode.app但是這似乎沒有解決問題。

我必須執行這些步驟,使節點構建系統開心:

  • export PATH=$PATH:/Applications/Xcode.app/Contents/Developer/usr/bin
  • export CC='gcc --sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/'
  • export CXX='g++ --sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/'

在那之後我就能夠編譯和鏈接。

那麼......爲什麼我必須這樣做呢?我是否錯過了一些簡單的步驟,可以自動爲我完成?或者我處於一些不好的狀態,因爲我在升級到Mountain Lion之前安裝了XCode,並且XCode更新程序離開了導軌?

回答

2

一旦您更新到Mountain Lion並更新了XCode 4.4,您必須在XCode內重新安裝命令行工具。

轉到XCode/Preferences/Downloads/Components並單擊「Command Line Tools」上的安裝,一旦它下載並安裝,您應該再次在您的(普通)路徑中使用gcc和g ++。

+0

當我查看偏好設置中,該列表是空的,在灰色的「無組件可用」泡沫在表視圖上。 「檢查並立即安裝」按鈕處於活動狀態時會報告「單擊時無更新」。有什麼方法可以重置下載項目列表,以便我可以再次執行此操作? – michaelhanson 2012-08-07 18:32:13

+0

@michaelhanson不知道,我可以看到安裝/最新/未安裝的項目。聽起來你的升級確實有點不對。 – 2012-08-07 18:36:30

+0

在控制檯中撥動,我看到:Xcode [28957]:DVTDownloadable:無法刷新來自:錯誤域= NSCocoaErrorDomain代碼= 3840「數據無法讀取,因爲它已被損壞。」 (第296行的鍵值缺失)UserInfo = 0x400399860 {NSDebugDescription =值爲的第296行的鍵缺失值,kCFPropertyListOldStyleParsingError =由於數據已損壞,無法讀取數據。} – michaelhanson 2012-08-07 18:39:43

1

正確的做法是從Xcode中重新安裝命令行工具。

這是暫時不可能的,因爲Apple正在提供格式錯誤的下載列表,但問題已解決。通過檢查控制檯中Xcode的輸出可以檢測到畸形。

重新安裝工具後,編譯正常工作。

+0

感謝您使用解決方案更新您的問題。 – 2013-10-21 18:08:51