首页 文章

OSX 10.8 xcrun(没有这样的文件或目录)

提问于
浏览
26

在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 读取"When xcrun is invoked with the name xcrun , the flags -log and -verbose are useful debugging aids. The flag -no-cache can be used to bypass cache lookup."但这似乎没有任何效果:唯一的输出仍然是上述...

Solution: 跟随Ned Deily 's advice below, i'已用shell脚本替换xcrun以简单地调用给定的参数:

#!/bin/bash
$@

4 回答

  • 18

    不幸的是,至少我最后一次使用它时,我发现你真的不能使用 xcrun 只使用独立的 Command Line Tools 包 . 它显然不是为那个用例而设计的;独立软件包是Xcode 4最近的一项创新 . 如果您尝试安装的产品确实依赖于 xcrun ,您可能需要安装完整的 Xcode.app 发行版来解决它 . 那,或修改发行版的Makefile等不使用 xcrun . 或者,可能(未经测试),创建一些目录和/或符号链接以假装 Xcode.app 安装 - 一个混乱的黑客 .

  • 24

    在控制台上键入以下命令:

    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
    
  • 0

    即使安装了命令行工具,您的xcode-select也很奇怪 . 它应该指向你的XCode包,而不是 /usr/bin

    $ xcode-select -print-path
    /Applications/Xcode.app/Contents/Developer
    

    像这样切换到Xcode:

    $ sudo xcode-select --switch /Applications/Xcode.app
    
  • 13

    我在使用brew install hg时遇到了麻烦 . 它在xcodebuild -version的输出上窒息 .

    这是一个可怕的黑客,但我用一个刚刚回显“4.3”的shell脚本替换/ usr / bin / xcodebuild并且能够成功安装mecurial .

相关问题