在没有安装Xcode的情况下,在OSX 10.8上使用Apple开发者网站提供的独立命令行工具包时,执行gem install jekyll
命令会遇到以下错误:
正在构建本机扩展,这可能需要一段时间...
错误:无法安装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 调用时,标志 -log 和 -verbose 是有用的调试工具。标志 -no-cache 可用于绕过缓存查找。”但似乎这些都没有任何效果:唯一的输出仍然是上面那个错误信息...
解决方法:根据 Ned Deily 的建议,我已经用一个 shell 脚本来替换 xcrun,以便简单地调用给定的参数:
#!/bin/bash
$@
export PATH = $ HOME / local / bin:$ PATH
以指定一个覆盖文件〜/ local / bin / xcrun
以包括这个技巧。我还必须运行“sudo xcode-select -switch /usr/bin”来匹配-print-path
。 - chrischris/usr/bin/xcrun
中,而不是在PATH
的其他地方进行xcrun
覆盖。 - Erik Kaplun