2015-11-08 10 views
5

मैं जेस्ट परीक्षण चलाने के लिए कोशिश कर रहा हूँ, लेकिन मैं निम्नलिखित त्रुटि हो रही है:प्रतिक्रिया मूल निवासी + जेस्ट EMFILE: बहुत से खुली फ़ाइलों त्रुटि

Error reading file: /Users/mike/dev/react/TestTest/node_modules/react-native/node_modules/yeoman-environment/node_modules/globby/node_modules/glob/node_modules/path-is-absolute/package.json /Users/mike/dev/react/TestTest/node_modules/jest-cli/node_modules/node-haste/lib/loader/ResourceLoader.js:88 throw err; ^

Error: EMFILE: too many open files, open '/Users/mike/dev/react/TestTest/node_modules/react-native/node_modules/yeoman-environment/node_modules/globby/node_modules/glob/node_modules/path-is-absolute/package.json' at Error (native) npm ERR! Test failed. See above for more details.

क्या मेरे लिए दिलचस्प है कि में सूचीबद्ध पथ है node_modules निर्देशिका में फ़ाइल को त्रुटि बिंदु, जो मुझे उम्मीद है कि testPathIgnorePatterns में node_modules प्रविष्टि के कारण पढ़ा नहीं जाएगा।

मैं नोड 4.2.1 चला रहा हूं, रिएक्ट-नेटिव का मेरा इंस्टॉलेशन केवल एक सप्ताह पुराना है, मैंने आज जेस्ट स्थापित किया (इसलिए मुझे लगता है कि मैं सब कुछ के साथ अद्यतित हूं)। मैं मैक पर हूँ

मैंने चलाया है: sudo ulimit -n 10240, सभी टर्मिनल विंडो बंद कर दिया, और यहां तक ​​कि रीबूट करने का प्रयास किया। (मेरे .bash_profile में मैं पहले से ulimit -n 1024 जोड़े थे। और मैं भी बड़ी संख्या में की कोशिश की है।

यकीन है कि समस्या नहीं है सिर्फ अपने ही परियोजना में बनाने के लिए, मैं react-native init TestTest साथ एक नई परियोजना बनाया है और करने के लिए आर एन के सुझाव परिवर्तन किए package.json:

{ 
    "name": "TestTest", 
    "version": "0.0.1", 
    "private": true, 
    "scripts": { 
    "start": "node_modules/react-native/packager/packager.sh", 
    "test": "jest" 
    }, 
    "dependencies": { 
    "react-native": "^0.14.1" 
    }, 
    "jest": { 
    "scriptPreprocessor": "node_modules/react-native/jestSupport/scriptPreprocess.js", 
    "setupEnvScriptFile": "node_modules/react-native/jestSupport/env.js", 
    "testPathIgnorePatterns": [ 
     "/node_modules/", 
     "packager/react-packager/src/Activity/" 
    ], 
    "testFileExtensions": [ 
     "js" 
    ], 
    "unmockedModulePathPatterns": [ 
     "promise", 
     "source-map" 
    ] 
    }, 
    "devDependencies": { 
    "jest-cli": "^0.7.1" 
    } 
} 

लेकिन मैं एक ही त्रुटि हर बार हो रही है

उत्तर

3

लघु जवाब ठीक देखकर जब तक समय देता है : 'ulimit -n 4096' को ~ .bash_profile जोड़ने और एक नई टर्मिनल विंडो खोलने से मेरी समस्या हल हो गई।

जवाब मेरे साथ करना था कि वह ठीक से उलिमिट सेट न करे।

sudo ulimit -n 10240 

मेरे मैक पर चुपचाप उलिमिट नहीं बदलता है। मैंने मूल रूप से सोचा था कि यह कुछ भी नहीं कर रहा था क्योंकि 10240 में 1024 की वृद्धि नहीं हुई है। लेकिन मैंने 2048, 4096, आदि की कोशिश की जब मैंने कुछ भी नहीं किया

तो, "समाधान" क्या है?

  • ulimit -n (एक नंबर के बिना) आपको बता देंगे क्या वर्तमान मूल्य
  • मेरे लिए
  • , एक टर्मिनल विंडो में sudo ulimit -n 2048 टाइपिंग ulimit परिवर्तन नहीं किया (कोई बात नहीं क्या नंबर मैंने कोशिश की)
  • 'ulimit -n 4096' से ~ .bash_profile जोड़ने और एक नया टर्मिनल खोलने से समस्या हल हो गई
1

मैं कुछ समय पहले एक ऐसी ही मुद्दा था, लेकिन समझ नहीं सकता है क्यों हंसी मेरी node_modules फ़ोल्डर अनदेखी नहीं कर रहा था।।

क्या मैं कर रहा ["spec.js"] करने के लिए ["js"] से "testFileExtensions" बदल रहा है और विस्तार .spec.js

नहीं उचित समाधान के साथ सभी परीक्षणों का नाम बदलने को समाप्त लेकिन मुझे अगर हंसी के नए संस्करणों को इस मुद्दे

+0

यह एक अच्छा सुझाव था, लेकिन इसने मेरे लिए इस मुद्दे को हल नहीं किया। लेकिन उसने क्या किया एक बड़ी संभावना को हटा दिया गया, जो मुझे अन्य संभावित कारणों का पीछा करने के लिए प्रेरित करता है (जिसे मैंने अंततः पाया, ऊपर मेरा जवाब देखें)। धन्यवाद! –

0

मैं पावरहेल में विंडोज़ चला रहा हूं। गिट बैश का भी इस्तेमाल किया और इसी तरह की समस्याएं थीं। इस प्रकार मैं अपने package.json अद्यतन:।

"devDependencies": { 
    "jest-cli": "^0.8.2", 
    }, 
    "jest": { 
    "testPathDirs": ["__tests__"], 
    "testPathIgnorePatterns": [ 
     "/node_modules/" 
    ] 
    }, 
    "scripts": { 
    "test": "jest" 
    }, 

ध्यान दें कि "testPathDirs": ["__tests__"], निर्देशिका में मैं अपने सभी परीक्षण जगह है

अब मैं एक मुद्दा बिना npm test चला सकते हैं।आखिरकार ऐसा लगता है कि जेस्ट /node_modules/ निर्देशिका को नेविगेट कर रहा है जिसे बाहर रखा जाना चाहिए।

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