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.