2013-01-24 15 views
5

मदद!ENOTEMPTY और EPERM अपवाद? :(

मैं अब के बारे में दो महीने के लिए उल्का के साथ काम किया गया है, और सब कुछ मेरी OSX घर के माहौल में सफलता से चल रहा है। लेकिन मैं हाल ही में काम पर हमारे विंडोज 7 के माहौल में है कि कोड के कुछ लाया, और उल्का विंडोज पर समान व्यवहार नहीं कर रहा है।

विशेष रूप से, कोड बंडलिंग बर्क हो रही है। जब मैं पुराने आधार को मिटाने के बजाय कोड बेस में परिवर्तन करता हूं, तो एप्लिकेशन को रिबंड करने के बजाय, यह बारफिंग है सर्वर कंसोल में मुझ पर एक ENOTEMPTY अपवाद। यदि मैंने कार्य एक्सप्लोरर में मोंगोड प्रक्रिया को रोक दिया है और मैन्युअल रूप से .meteor/स्थानीय निर्देशिका को हटा दिया है, तो मैं एप्लिकेशन को पुनरारंभ कर सकता हूं, और यह नए कोड परिवर्तनों के साथ ऐप को बंडल और तैनात करेगा।

Running on: http://localhost:3000/ 
No dependency info in bundle. Filesystem monitoring disabled. 
Errors prevented startup: 
Exception while bundling application: 
Error: ENOTEMPTY, directory not empty 'c:\Users\Abigail\My Documents\GitHub\canvas tracker\.meteor\local\build\server' 
    at Object.fs.rmdirSync (fs.js:456:18) 
    at Object.module.exports.rm_recursive (c:\Program Files (x86)\Meteor\app\lib\files.js:256:10) 
    at c:\Program Files (x86)\Meteor\app\lib\files.js:254:15 
    at Array.forEach (native) 
    at Function._.each._.forEach (c:\Program Files (x86)\Meteor\lib\node_modules\underscore\underscore.js:79:11) 
    at Object.module.exports.rm_recursive (c:\Program Files (x86)\Meteor\app\lib\files.js:252:9) 
    at _.extend.write_to_directory (c:\Program Files (x86)\Meteor\app\lib\bundler.js:493:11) 
    at Object.exports.bundle (c:\Program Files (x86)\Meteor\app\lib\bundler.js:685:12) 
    at exports.run.restart_server (c:\Program Files (x86)\Meteor\app\meteor\run.js:615:26) 
    at c:\Program Files (x86)\Meteor\app\meteor\run.js:726:9 

Please fix the problem and restart. 

लेकिन यह ऑन-द-फ्लाई कोड परिवर्तन और फिर से बंडल नहीं करता है। :(मैं भी EPERM त्रुटियों हो रही है कभी कभी जब मैं ऐप्लिकेशन को लॉन्च करने का प्रयास करें।

Running on: http://localhost:3000/ 
No dependency info in bundle. Filesystem monitoring disabled. 
Errors prevented startup: 
Exception while bundling application: 
Error: EPERM, operation not permitted 'c:\Users\Abigail\My Documents\GitHub\canvas-tracker\.meteor\local\.build.build' 
    at Object.fs.renameSync (fs.js:439:18) 
    at _.extend.write_to_directory (c:\Program Files (x86)\Meteor\app\lib\bundler.js:628:8) 
    at Object.exports.bundle (c:\Program Files (x86)\Meteor\app\lib\bundler.js:685:12) 
    at exports.run.restart_server (c:\Program Files (x86)\Meteor\app\meteor\run.js:615:26) 
    at c:\Program Files (x86)\Meteor\app\meteor\run.js:726:9 
    at Object.exports.launch_mongo (c:\Program Files (x86)\Meteor\app\lib\mongo_runner.js:146:5) 
    at exports.run.launch (c:\Program Files (x86)\Meteor\app\meteor\run.js:712:39) 
    at Server.exports.run (c:\Program Files (x86)\Meteor\app\meteor\run.js:770:5) 
    at Server.g (events.js:193:14) 
    at Server.EventEmitter.emit (events.js:90:17) 

Please fix the problem and restart. 

यह कैसे हल करने पर कोई भी विचार? मैं विंडोज 7 परम, SP1, 64 पर उल्का 0.5.4 का उपयोग कर रहा हूँ।

संपादित करें: मुझे यह उल्लेख करना चाहिए कि कोड में कोई त्रुटि होने पर ये त्रुटियां होती हैं। मेरे ओएसएक्स पर्यावरण में, अगर मुझे कोई त्रुटि है, तो कोड अभी भी संकलित, छोटा और बंडल करेगा, और पृष्ठ प्रस्तुत नहीं हो सकता है और मैं क्रोम कंसोल में मुझे विभिन्न जावास्क्रिप्ट त्रुटियां मिलेंगी जिन्हें मुझे डीबग करना होगा। मेरे विन 7 पर्यावरण में, मैं वही काम कर रहा हूं, लेकिन अर्ध-टूटा ऐप संकलित करने के बजाय मैं क्रोम में डीबग कर सकता हूं, यह रोक रहा है बंडल प्रक्रिया के दौरान। किसी भी मामले में, वहां मेरे जावास्क्रिप्ट कोड में एक त्रुटि है (मुझे इतना पता है)। लेकिन ओएसएक्स में, यह अभी भी बंडल होगा और मैं डीबगिंग पर आगे बढ़ सकता हूं। Win7 में, मैं इन ENOTEMPTY और EPERM अपवादों के कारण डिबगिंग चरण तक नहीं पहुंच सकता ...

संपादित करें: और, हाँ, मैंने पूरी परियोजना निर्देशिका पर अनुमतियों को नियुक्त करने का प्रयास किया है । दुर्भाग्यवश, यह चाल नहीं हुई।

+1

पहली त्रुटि यह है कि इसे हटाने का प्रयास करते समय/build/server निर्देशिका खाली नहीं है। क्या आपने उस बिंदु पर डीबगर सेट करने और निर्देशिका को देखने का प्रयास किया है? इसमें अभी भी कौन सी फाइलें हैं? – Rahul

+0

! राहुल! खैर, सभी node_modules अभी भी वहां हैं, साथ ही server.js और a .bundle_version.txt फ़ाइल। इसके अलावा,/build/server की बजाय, ऐसा लगता है कि एक .build.build/सर्वर निर्देशिका है, जो थोड़ा अजीब लगता है। O_o – AbigailW

+0

ओह, हम्म .. ENOTEMPTY त्रुटि पर, .build.build/सर्वर में केवल node_modules हैं, न कि अन्य दो फ़ाइलें। – AbigailW

उत्तर

2

ठीक है, तो टॉम विज्समैन की मदद से, हम इस मुद्दे को ट्रैक करने में कामयाब रहे। संक्षिप्त जवाब यह है कि यह गिटहब बैश खोल था।

लंबा उत्तर यह है कि ENOTEMPTY और EPERM एक निर्देशिका के कारण होते हैं जो बंडलिंग प्रक्रिया के दौरान सही ढंग से हटा नहीं जाता है। निर्देशिका को निष्पादित नहीं किया जा रहा है जो निष्पादन() कमांड का उपयोग कर कोड द्वारा किया गया था, जिसने डिलीट कमांड को खोल में पास कर दिया था। बाहर निकला मैं गिटहब बैश खोल का उपयोग कर रहा था, जो मानक संवेदनशील है, मानक विंडोज cmd.exe के विपरीत, जो मामला असंवेदनशील है। केस संवेदनशीलता शेल को उस पथ को पहचानने के कारण नहीं कर रही थी जिसे हटाया जाना चाहिए, इस प्रकार इसे हटा नहीं रहा है, इस प्रकार बंडल प्रक्रिया के दौरान ब्रेक हो रहा है।

100x इस मुद्दे पर पिछली बग रिपोर्ट ढूंढने के लिए राहुल को धन्यवाद! आप नायक थे जो घास में सुई पाई!

+3

आपने वर्णन किया है कि समस्या का कारण क्या है - लेकिन वास्तव में यह कैसे ठीक करता है ??? – nkoren

+0

धन्यवाद @AbigailW, जो मुझे सही दिशा में ले जाता है। मैंने ओएसएक्स पर एक पैकेज विकसित किया जहां यह ठीक काम करता था लेकिन विंडोज़ पर नहीं। बाहर निकला मैं विंडोज पर ConEmu + गिटबैश का उपयोग कर रहा हूँ और मामले में सेंसिटिव-ity के साथ उस समस्या में ठीक से भाग गया! तो संबंधित पैकेज.जेएस में एक नज़र डालें और गैर-केस-संवेदनशील पथों को ठीक करने के लिए मेरे लिए काम किया !!!! –

+0

विंडोज़ पर उल्का का उपयोग करते समय मुझे गिट संबंधित कमांड के अलावा किसी भी चीज़ के लिए गिट बैश का उपयोग करना छोड़ देना पड़ा। मैं वर्तमान में देशी कमांड विंडो का उपयोग करता हूं। – Kildareflare

2

विंडोज 8 में सही समस्या थी। उल्का cmd चलाने के दौरान बस मेरे मैकएफ़ी एंटीवायरस (रीयल टाइम स्कैनिंग) को बंद करना।

+0

मेरे मामले में कैस्पर्सकी के साथ वही बात! –

3

विन 7। इसे काम करने के लिए दो कदम।

1) MongoDB से हटाएं डीबी लॉक C: \ Users ** USERNAME ** \ leaderboard.meteor \ स्थानीय \ db mongod.lock

2) बंद सभी ओपन संपादकों परियोजना में फ़ाइलों की ओर इशारा करते C: \ Users ** USERNAME ** \ लीडरबोर्ड।ग्राहक \ एप्लिकेशन leaderboard.js

मेरे मामले में \ स्थानीय \ निर्माण \ कार्यक्रमों उल्का \ मैं, एक संपादक leaderboard.js यह शट डाउन करने की आवश्यकता है संपादित करने के लिए खुला रखा के रूप में फ़ाइल खोलने संभाल बाधित करने के लिए लगता है।

+0

मेरे संपादक को मारने से मेरी समस्या भी ठीक हो गई। –

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