create-react-app: Error npm test on MacOs Sierra

Hey there,

I can’t run with success the npm test command:

❯ npm test

> react-scripts test --env=jsdom
Determining test suites to run...2016-10-07 11:38 node[873] (FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-22)
2016-10-07 11:38 node[873] (FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-22)
events.js:160
      throw er; // Unhandled 'error' event
      ^

Error: Error watching file for changes: EMFILE
    at exports._errnoException (util.js:953:11)
    at FSEvent.FSWatcher._handle.onchange (fs.js:1400:11)
npm ERR! Test failed.  See above for more details.

Environment

Run these commands in the project folder and fill in their results:

  1. npm ls react-scripts: react-scripts@0.6.1
  2. node -v: v6.7.0
  3. npm -v: 3.10.3
  4. Operating system: MacOs Sierra

Any idea?

About this issue

  • Original URL
  • State: closed
  • Created 8 years ago
  • Reactions: 19
  • Comments: 24 (6 by maintainers)

Commits related to this issue

Most upvoted comments

In case the specificity helps anyone, I ran:

  • sudo chown -R $(whoami) /usr/local
  • brew update
  • brew install watchman

The issue was fixed to installing of watchman.

Haha I just had this issue and your comment fixed it. Thanks!

I had this same issue on node v8.3.0 & OSX v10.12.6 after pulling some changes in my project. However, I’m using yarn v1.0.1. What I’ve done to fix it is:

rm -rf ./node_modules
yarn cache clean
yarn

After that running yarn test works as before.

So this should all go away in the next major release.

brew install watchman

worked for me, using high Sierra 10.13.1

Amazing work on finding that watchman is the case! But… Is it only me? I feel like we’re correcting symptoms ~ shouldn’t watchman be

  1. Included in the create-react-app build process ?
  2. Mentioned in the documentation that watchman is required to run tests?

I’m not sure this should be closed.

Installing watchman fixed it as mentioned above. If you get a password prompt enter your password then run all commands again. And if it’s not obvious – close and reopen your terminal or terminal tab after installing.

well just spent 1.5 hours trying to get the test runner to work. brew install watchman saved the day.

I’m currently having this issue. Installing watchman via Brew does eliminate the error, but for some reason Jest can’t find my tests so I uninstalled it. I noticed that this problem started as I was making my latest commit, so I tried moving my .git folder out of my project. Lo-and-behold, watching tests works just fine. Moving it back in breaks the tests again.

For me at least, it turned out I had an older version of watchman installed globally in npm. Uninstalling that got me working again.

Thank you @Peterlollo !