我試圖運行玩笑測試,但我發現了以下錯誤:陣營本地+玩笑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條目,我預期不會讀取它。
我正在運行Node 4.2.1,我的React-Native的安裝只有一週的時間,我今天安裝了Jest(所以我認爲我是最新的一切)。我在Mac上。
我運行了: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"
}
}
但每次我得到了同樣的錯誤
這是一個很好的建議,但它並沒有解決我的問題。但是它所做的是去除了一個很大的可能性,這導致我追求其他可能的原因(我最終發現了這個問題,請參閱上面的答案)。謝謝! –