2012-10-24 16 views
25

जब पर OSX 10.8 gem install jekyll क्रियान्वित एप्पल के डेवलपर स्थापित (कोई Xcode) साइट से स्टैंडअलोन कमांड लाइन उपकरण पैकेज के साथ, मैं निम्न त्रुटि प्राप्त:OSX 10.8 xcrun (ऐसा कोई फ़ाइल या निर्देशिका)

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

ERROR: Error installing jekyll:

ERROR: Failed to build gem native extension.

...

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) 

जीसीसी स्थापित किया गया है:

$ which cc 
/usr/bin/cc 

लुक-अप पथ के लिए xcrun सेट है:

xcode-select -print-path 
/usr/bin 

अभी तक कोई बात नहीं जो तर्क मैं कोशिश, xcrun हमेशा

वापस आ जाएगी

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

man xcrun लिखा है "जब xcrun नाम xcrun साथ शुरू हो जाती है, झंडे -log और -verbose उपयोगी डीबगिंग एड्स हैं। झंडा -no-कैश बाईपास कैश देखने के लिए इस्तेमाल किया जा सकता है "लेकिन इस में से कोई भी कोई असर लगता है:। केवल उत्पादन ऊपर बनी हुई है ...

समाधान: निम्नलिखित नीचे नेड Deily की सलाह पर, मैं बदल दिया है एक खोल स्क्रिप्ट के साथ xcrun बस दिए गए तर्कों के कॉल करने के लिए:

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

"द्वारा कमांड लाइन टूल्स इंस्टॉल ", क्या आपका मतलब है कि आपके पास केवल ऐप्पल डेवलपर साइट से स्थापित स्टैंडअलोन 'कमांड लाइन टूल्स' पैकेज है 'Xcode.app' इंस्टॉल करना या आपके पास Xcode.app इंस्टॉल है और फिर' Xcode.app' 'प्राथमिकताएं मेनू से' कमांड लाइन टूल्स 'घटक स्थापित किया है? –

+0

ऐप्पल की डेवलपर साइट से स्टैंडअलोन पैकेज। - मैंने इसे और स्पष्ट करने के लिए प्रश्न को संशोधित किया। भ्रम के बारे में खेद है। –

+0

हैक को शामिल करने के लिए '~/local/bin/xcrun' की ओवरराइड फ़ाइल निर्दिष्ट करने के लिए 'पथ PATH = $ HOME/local/bin: $ PATH' निर्यात करें' निर्यात करें। मुझे '-प्रिंट-पथ' से मेल खाने के लिए 'सूडो xcode-select -switch/usr/bin' भी चलाया जाना था। – chrischris

उत्तर

24

, कम से कम पिछली बार मैं इसके साथ खेला जाता है, मैंने पाया कि आप वास्तव में सिर्फ स्टैंडअलोन Command Line Tools पैकेज के साथ xcrun उपयोग नहीं कर सकते। यह स्पष्ट रूप से उस उपयोग के मामले के लिए डिजाइन नहीं किया गया था; स्टैंडअलोन पैकेज एक्सकोड 4 के साथ काफी हालिया नवाचार है। यदि आप जिस उत्पाद को स्थापित करने का प्रयास कर रहे हैं, वह वास्तव में xcrun पर निर्भर करता है, तो आपको इसके आसपास होने के लिए पूर्ण Xcode.app वितरण स्थापित करने की आवश्यकता हो सकती है। xcrun का उपयोग न करने के लिए वितरण के मेकफ़ाइल एट अल को संशोधित करें या संशोधित करें। या, संभवतः (अवांछित), नकली xcrun पर कुछ निर्देशिकाएं और/या सिम्लिंक बनाएं, यह सोचने के लिए कि आपके पास Xcode.app स्थापित है - एक गन्दा हैक।

+11

क्या एक गंदे हैक! मुझे आश्चर्य है कि यह कब वापस आ जाएगा: मैंने xcrun को दो पंक्ति खोल स्क्रिप्ट के साथ बदल दिया: #!/Bin/bash $ @ –

+1

हे। एक और बात: स्टैंडअलोन कमांड लाइन टूल्स एसडीके प्रदान नहीं करता है जैसे पूर्ण एक्सकोड करता है। तो यदि आप जो निर्माण कर रहे हैं उसे पहले के ओएस स्तर के लिए एसडीके की आवश्यकता है, तो आपको पूर्ण एक्सकोड इंस्टॉल की आवश्यकता होगी। –

+2

वाह। वह हैक मेरे लिए काम किया! यह सुंदर नहीं है, लेकिन बकवास की एक छिद्र पर स्थापित करने से बेहतर मुझे जरूरत नहीं है। –

12

कमांड लाइन उपकरण स्थापित यहां तक ​​कि के साथ, अपने xcode का चयन अजीब है यह अपने XCode बंडल में ओर इशारा करते हुए किया जाना चाहिए, /usr/bin नहीं:।

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

इस तरह Xcode करने के लिए यह स्विच: दुर्भाग्य से

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

मेरे पास सिर्फ कमान रेखा उपकरण स्थापित है, न कि एक्सकोड। पथ को/usr/bin पर सेट करना मेरे लिए सबसे अधिक समझ में आया, क्योंकि कंपाइलर्स वहां रहते हैं ... इस प्रकार स्विचिंग में त्रुटि होती है: 'xcode-select: त्रुटि: पथ "/ अनुप्रयोग /Xcode.app" निर्देशिका नहीं है। –

0

मुझे ब्रू इंस्टॉल एचजी के साथ परेशानी हो रही थी। यह xcodebuild -version के आउटपुट पर चकित था।

यह एक भयानक हैक है, लेकिन मैंने एक शेल स्क्रिप्ट के साथ/usr/bin/xcodebuild को प्रतिस्थापित किया है जो सिर्फ "4.3" प्रतिबिंबित करता है और सफलतापूर्वक मेकुरियल स्थापित करने में सक्षम था।कंसोल पर इन आदेशों में

18

प्रकार:

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

अपने डमी xcrun फ़ाइल में निम्न दर्ज करें:

#!/bin/sh 
[email protected] 

तो यह निष्पादन योग्य बनाने:

sudo chmod 755 /usr/bin/xcrun 
+0

यह मेरे लिए काम किया! – DevDude

+0

xcode-select: त्रुटि: अमान्य डेवलपर निर्देशिका '/ usr/bin'? –

संबंधित मुद्दे