2012-10-24 10 views
25

Wenn gem install jekyll auf OSX 10.8 mit dem Standalone-Kommandozeilen-Tools-Paket von Apple Entwickler-Website installiert Ausführung (kein Xcode), ich laufe in die folgenden Fehlermeldung:OSX 10.8 xcrun (Keine solche Datei oder das Verzeichnis)

Building native extensions. This could take a while...

ERROR: Error installing jekyll:

ERROR: Failed to build gem native extension.

$ which cc 
/usr/bin/cc 

der Look-up-Pfad: ...

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 installiert für xcrun gesetzt:

xcode-select -print-path 
/usr/bin 

noch unabhängig davon, welche Argumente ich versuche, xcrun immer

zurück

xcrun: Error: failed to exec real xcrun. (No such file or directory)

man xcrun liest „Wenn xcrun mit dem Namen xcrun aufgerufen wird, die Flaggen -LOG und -verbose sind nützliche Debughilfen. Die Flagge -no-Cache kann in der Bypass-Cache-Suche verwendet werden „, aber nichts davon scheint keine Wirkung zu haben. Die einzige Ausgabe der oben bleibt ...

Lösung: folgende Ned Deily Rat unten, i ersetzt habe xcrun mit einem Shell-Skript, einfach die angegebenen Argumente zu nennen:

#!/bin/bash 
[email protected] 
+0

von „Command Line Tools installiert ", meinen Sie, Sie haben nur das eigenständige' Command Line Tools' Paket von der Apple Developer Site mit installiert "xcode.app" installiert oder Xcode.app installiert und dann die 'Command Line Tools' Komponente aus dem' Xcode.app' 'Preferences' Menü installiert? –

+0

Das Standalone-Paket von Apples Developer-Site. - Ich habe die Frage modifiziert, um das klarer zu machen. Entschuldigung für die Verwirrung. –

+0

Es war einfach genug, meinen Pfad zu überschreiben: 'export PATH = $ HOME/local/bin: $ PATH', um eine Überschreibungsdatei von' ~/local/bin/xcrun' anzugeben, um den Hack einzuschließen. Ich musste auch 'sudo xcode-select -switch/usr/bin' ausführen, um dem '-print-path' zu entsprechen. – chrischris

Antwort

24

Leider zumindest das letzte Mal, dass ich mit ihm gespielt, fand ich Sie wirklich nicht xcrun nur mit dem Standalone-Command Line Tools Paket nutzen können. Es war offensichtlich nicht für diesen Anwendungsfall ausgelegt; Das Standalone-Paket ist eine ziemlich neue Innovation mit Xcode 4. Wenn das Produkt, das Sie installieren möchten, wirklich von xcrun abhängt, müssen Sie möglicherweise die vollständige Xcode.app Distribution installieren, um es zu umgehen. Das, oder ändern Sie das Makefile der Verteilung, um xcrun nicht zu verwenden. Oder, möglicherweise (ungetestet), erstellen Sie einige Verzeichnisse und/oder Symlinks, um zu fälschen xcrun zu denken, Sie haben Xcode.app installiert - ein chaotischer Hack.

+11

Was für ein schmutziger Hack! Ich frage mich, wenn es komme zurück, um mich zu beißen: ich mit einem Zweizeilen-Shell-Skript ersetzt xcrun: #/bin/bash $ @ –

+1

Heh. Eine andere Sache: Die Standalone-Befehlszeilentools bieten keine SDKs wie der vollständige Xcode. Wenn das, was Sie erstellen, ein SDK für eine frühere Betriebssystemebene erfordert, benötigen Sie die vollständige Xcode-Installation. –

+2

Wow. Dieser Hack hat für mich funktioniert! Es ist nicht schön, aber besser, als über einen Gig von Mist zu installieren, den ich nicht brauche. –

12

Selbst mit Kommandozeilen-tools installiert, Ihr Xcode-select seltsam Es zeigt in Ihrem XCode Bündel werden sollte, nicht /usr/bin.

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

es so Xcode wechseln:

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

Ich habe nur die Befehlszeilen-Tools installiert, nicht Xcode. Den Pfad zu/usr/bin zu setzen war für mich am sinnvollsten, da Compiler dort residieren ... Das Umschalten führt also zu einem Fehler: 'xcode-select: Fehler: Pfad" /Applications/Xcode.app "ist kein Verzeichnis.' –

0

Ich hatte Probleme mit dem Brauen installieren hg. Es war auf der Ausgabe von xcodebuild-Version erstickt.

Es ist ein schrecklicher Hack, aber ich ersetzte/usr/bin/xcodebuild mit einem Shell-Skript, das nur "4,3" widerholte und konnte erfolgreich mecurial installieren.

18

Geben Sie diese Befehle auf der Konsole:

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

folgendes in Ihre Dummy xcrun Datei eingeben:

#!/bin/sh 
[email protected] 

Dann ausführbar machen:

sudo chmod 755 /usr/bin/xcrun 
+0

das hat für mich funktioniert! – DevDude

+0

xcode-select: Fehler: ungültiges Entwicklerverzeichnis '/ usr/bin'? –