React Native + Jest EMFILE: too many open files error React Native + Jest EMFILE: too many open files error reactjs reactjs

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.