2012-12-11 11 views
10

मैं शीर्ष निर्देशिका में make को सरल निष्पादित करके अपनी परियोजना बनाने की कोशिश कर रहा हूं।सब्लिमे टेक्स्ट बिल्ड सिस्टम जो सिर्फ "बनाने"

[Errno 2] No such file or directory 
[cmd: [u'make']] 
[dir: /Users/jonathanong/Workspace/template] 
[path: /usr/local/bin] 
[Finished] 

यह Make के निर्माण विन्यास सेट करने के बाद है: हालांकि, जब मैं करता हूँ, मैं निम्नलिखित त्रुटि मिलती है।

मैं सब्लिमे टेक्स्ट 2.0.1, ओएस एक्स 10.8.2 पर हूं। मेरे मेकफ़ाइल में विश्व स्तर पर स्थापित node.js बाइनरी निष्पादित करने शामिल हैं। मुझे क्या करना होगा?

+1

पर रहता है लिनक्स उपयोगकर्ताओं इस खोज कर रहे थे: (http [उदात्त + लिनक्स के साथ Makefile चलाने के लिए Ctrl + M]: // stackoverflow.com/q/21709896/562769) –

उत्तर

13

ऐसा इसलिए है क्योंकि make आपके पैथ में नहीं है। यदि आप टर्मिनल में निर्माण कर सकते हैं, तो पर पथ का पता लगाने के लिए which make का उपयोग करें, और फिर इसे बनाने के लिए पथ में जोड़ें। अपना रास्ता जोड़ने के लिए आप makefile build system संपादित कर सकते हैं।

आपका नया makefile नियम दिखना चाहिए:

{ 
    "cmd": ["make"], 
    "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$", 
    "working_dir": "${project_path:${folder:${file_path}}}", 
    "selector": "source.makefile", 
    "path": "/usr/local/bin:/Applications/Xcode.app/Contents/Developer/usr/bin", 
    "variants": 
    [ 
     { 
     "name": "Clean", 
     "cmd": ["make", "clean"] 
     }, 
     { 
     "name": "Test", 
     "cmd": ["make", "test"] 
     } 
    ] 
} 

यह मूलतः डिफ़ॉल्ट make लक्ष्य है, लेकिन मैं (बेशक) एक परीक्षण लक्ष्य पथ को जोड़ा गया है, और। आपको gcc, ifort, या जो भी आप संकलित करने के लिए उपयोग कर रहे हैं, खोजने के लिए पथ का विस्तार करना पड़ सकता है। Use : to separate directories on Linux and Mac, and ; on Windows। आप अन्य पर्यावरण चर भी बदल सकते हैं, मुझे DYLD_LIBRARY_PATH और CPATH सेट करना था ताकि मेरे पुस्तकालय और निर्देशिकाएं शामिल हों।

इसे अपनी उत्कृष्ट प्राथमिकताओं की उपयोगकर्ता निर्देशिका में मेक (ओएसएक्स)। सब्लिम-बिल्ड के रूप में सहेजा जाना चाहिए। (ओएसएक्स) यह सुनिश्चित करेगा कि यह फ़ाइल केवल मैक पर उपयोग की जाती है, इसलिए जब आप अपनी प्राथमिकताओं को गैर-मैक कंप्यूटर पर कॉपी करते हैं, तो आप पथ को गंक नहीं करेंगे।

+0

क्या इसका मतलब है कि मुझे हर एक परियोजना के लिए एक बिल्ड फ़ाइल बनाना होगा? –

+0

आप दोनों उपयोगकर्ता सेटिंग फाइलें और प्रोजेक्ट लेवल बिल्ड फाइलें बना सकते हैं। – dbn

+0

ठीक है तो मेरा पथ '/ usr/bin/make' है, इसलिए मैंने अपना पथ'/usr/bin' बनाया है। अब मुझे 'मेक: घटक मिल रहा है: ऐसी कोई फ़ाइल या निर्देशिका नहीं'। मुझे लगता है कि मुझे '/ usr/local/bin/घटक' और/या '/ usr/local/bin' के बारे में उत्कृष्ट पाठ को जाने की आवश्यकता है। मैं उसको कैसे करू? –

1

प्लगइन में पैथ को समायोजित करने के लिए आईएमओ का एक बहुत बेहतर समाधान है, इसलिए आपको इसे सभी बिल्ड सिस्टम और बाहरी कमांड को कॉल करने वाले सभी प्लगइन के लिए केवल एक बार सेट करना होगा।

तुम बस

import os 
os.environ['PATH'] += os.pathsep + '/my/extra/path' 

रियल दुनिया उदाहरण कर सकते हैं शायद ज़रुरत पड़े https://github.com/schlamar/ST3User/blob/master/preferences.py

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