在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时,flags -log和-verbose是有用的调试工具。标志-no-cache可用于绕过缓存查找。”但这似乎都没有任何影响:唯一的输出仍然是上述......
解决方案:按照下面的Ned Deily的建议,我用shell脚本替换xcrun来简单地调用给定的参数:
#!/bin/bash
$@
答案 0 :(得分:24)
不幸的是,至少在我最后一次使用它时,我发现你真的不能只使用xcrun
独立的Command Line Tools
包。它显然不是为那个用例而设计的;独立软件包是Xcode 4最近的一项创新。如果您尝试安装的产品确实依赖于xcrun
,您可能需要安装完整的Xcode.app
版本才能解决问题。那,或修改发行版的Makefile等不使用xcrun
。或者,可能(未经测试),创建一些目录和/或符号链接以假装xcrun
认为您已安装Xcode.app
- 这是一个混乱的黑客。
答案 1 :(得分:18)
在控制台上输入以下命令:
sudo xcode-select -switch /usr/bin
sudo mv /usr/bin/xcrun /usr/bin/xcrun-orig
sudo vim /usr/bin/xcrun
在虚拟xcrun文件中输入以下内容:
#!/bin/sh
$@
然后使其可执行:
sudo chmod 755 /usr/bin/xcrun
答案 2 :(得分:13)
即使安装了命令行工具,您的xcode-select也很奇怪。它应该指向您的XCode包,而不是/usr/bin
:
$ xcode-select -print-path
/Applications/Xcode.app/Contents/Developer
将它切换到Xcode:
$ sudo xcode-select --switch /Applications/Xcode.app
答案 3 :(得分:0)
我遇到了brew install hg的问题。它在xcodebuild -version的输出上窒息。
这是一个可怕的黑客攻击,但我将/ usr / bin / xcodebuild替换为刚刚回显“4.3”的shell脚本,并且能够成功安装mecurial。