我试图运行玩笑测试,但我发现了以下错误:阵营本地+玩笑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"
}
}
但每次我得到了同样的错误
这是一个很好的建议,但它并没有解决我的问题。但是它所做的是去除了一个很大的可能性,这导致我追求其他可能的原因(我最终发现了这个问题,请参阅上面的答案)。谢谢! –