【发布时间】:2012-10-14 00:56:25
【问题描述】:
在 OSX 10.8 上执行 gem install jekyll 并安装了来自 Apple 开发人员站点的独立命令行工具包(无 Xcode)时,我遇到了以下错误:
构建原生扩展。这可能需要一段时间...
错误:安装 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 替换为 shell 脚本,以简单地调用给定的参数:
#!/bin/bash
$@
【问题讨论】:
-
通过“安装命令行工具”,您的意思是您只从 Apple Developer 站点安装了独立的
Command Line Tools软件包,而没有安装Xcode.app,还是您安装了 Xcode.app 然后再安装Xcode.appPreferences菜单中的Command Line Tools组件? -
来自 Apple 开发者网站的独立包。 - 我修改了问题以使其更清楚。很抱歉造成混乱。
-
覆盖我的路径很容易:
export PATH=$HOME/local/bin:$PATH指定覆盖文件~/local/bin/xcrun以包含黑客。我还必须运行sudo xcode-select -switch /usr/bin以匹配-print-path。 -
看起来黑客需要放在
/usr/bin/xcrun而不是xcrun覆盖PATH中的其他地方。
标签: xcode macos gcc osx-mountain-lion xcrun