OSX 10.8 xcrun (Нет такого файла или каталога)

При выполнении gem install jekyll в OSX 10.8 с автономным пакетом инструментов командной строки с установленного сайта разработчика 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 оболочкой script, чтобы просто вызвать следующие аргументы:

#!/bin/bash
[email protected]

Ответ 1

К сожалению, по крайней мере, в последний раз, когда я играл с ним, я обнаружил, что вы действительно не можете использовать xcrun только с автономным пакетом Command Line Tools. По-видимому, он не был предназначен для этого случая; автономный пакет представляет собой довольно недавнюю новинку с Xcode 4. Если продукт, который вы пытаетесь установить, действительно зависит от xcrun, вам может потребоваться установить полный дистрибутив Xcode.app, чтобы обойти его. Это или изменить дистрибутив Makefile и др., Чтобы не использовать xcrun. Или, возможно (непроверенный), создайте некоторые каталоги и/или символические ссылки для подделки xcrun, думая, что у вас установлен Xcode.app - грязный хак.

Ответ 2

Введите следующие команды на консоли:

sudo xcode-select -switch /usr/bin
sudo mv /usr/bin/xcrun /usr/bin/xcrun-orig
sudo vim /usr/bin/xcrun

Введите в свой файл dummy xcrun следующее:

#!/bin/sh
[email protected]

Затем сделайте его выполнимым:

sudo chmod 755 /usr/bin/xcrun

Ответ 3

Даже с установленными средствами командной строки, ваш xcode-select является странным. Он должен указывать на ваш пакет XCode, а не /usr/bin:

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

Переключите его в Xcode следующим образом:

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

Ответ 4

У меня возникли проблемы с brew install hg. Он задыхался от вывода xcodebuild -version.

Это ужасный взлом, но я заменил /usr/bin/xcodebuild оболочкой script, которая просто эхом отозвалась "4.3" и успешно смогла установить mecurial.