React Native + Jest EMFILE: too many open files error
I had the same problem with a small vuejs project. In my case the fix was just a small configuration property: I put this in to my jest.config.js
watchPathIgnorePatterns: ['node_modules'],
For anyone withe the same problem with vuejs. Here's my full jest.config.js
file:
module.exports = { preset: '@vue/cli-plugin-unit-jest', transformIgnorePatterns: ['/node_modules/(?!(leaflet))'], watchPathIgnorePatterns: ['node_modules'], testMatch: [ '<rootDir>/src/**/*.spec.js' ],};
Short answer: adding 'ulimit -n 4096' to ~.bash_profile and opening a new terminal window resolved my issue.
The answer had to do with me not setting the ulimit properly.
sudo ulimit -n 10240
on my Mac silently doesn't change the ulimit. I had originally thought it was not doing anything because 10240 is not an increment of 1024. But it also didn't do anything when I tried 2048, 4096, etc.
So, what is "the" solution?
- ulimit -n (without a number) will tell you what the current value is
- for me, typing
sudo ulimit -n 2048
in a terminal window did NOT change the ulimit (no matter what number I tried) - adding 'ulimit -n 4096' to ~.bash_profile and opening a new terminal solved the problem
I'm running windows in powershell. Also used Git Bash and had similar problems. I updated my package.json as follows:
"devDependencies": { "jest-cli": "^0.8.2", }, "jest": { "testPathDirs": ["__tests__"], "testPathIgnorePatterns": [ "/node_modules/" ] }, "scripts": { "test": "jest" },
Note that "testPathDirs": ["__tests__"],
is the directory I place all my tests in.
Now I can run npm test
without an issue. Ultimately it seems Jest is navigating the /node_modules/
directory which should be excluded.