2012-08-07 65 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