Я пытаюсь запустить шутя тесты, но я получаю следующее сообщение об ошибке:Реагировать Native + шутя 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, который, как я ожидал, не будет считаться из-за записи node_modules в testPathIgnorePatterns.
Я запускаю узел 4.2.1, моя установка React-Native - это всего лишь неделя, я установил Jest сегодня (так что я думаю, что я в курсе всего). Я нахожусь на Mac.
Я запустил: sudo ulimit -n 10240
, закрыл все окна терминала и даже попробовал перезагрузку. (В моем .bash_profile я уже добавил ulimit -n 1024
. И я попробовал еще большие цифры.
Для того, чтобы убедиться, что проблема не только в своем собственном проекте, я создал новый проект с react-native init TestTest
и сделал предложенные изменения RN к 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"
}
}
но я получаю ту же ошибку, каждый раз, когда
Это было отличное предложение, но это не решило проблему для меня. Но то, что он сделал, это удалить одну большую возможность, которая привела меня к тому, чтобы преследовать другие возможные причины (которые я в итоге нашел, см. Мой ответ выше). Благодаря! –