Augustin Riedinger
Augustin Riedinger

Reputation: 22148

Error while running react-native start

I have quite a strange error while runnning react-native start:

 ERROR  watch /home/augustin/Workspace/MyProject ENOSPC
{"code":"ENOSPC","errno":"ENOSPC","syscall":"watch /home/augustin/Workspace/MyProject","filename":"/home/augustin/Workspace/MyProject"}
Error: watch /home/augustin/Workspace/MyProject ENOSPC
    at exports._errnoException (util.js:874:11)
    at FSWatcher.start (fs.js:1234:19)
    at Object.fs.watch (fs.js:1262:11)
    at NodeWatcher.watchdir (/home/augustin/Workspace/MyProject/node_modules/react-native/node_modules/sane/src/node_watcher.js:144:20)
    at new NodeWatcher (/home/augustin/Workspace/MyProject/node_modules/react-native/node_modules/sane/src/node_watcher.js:45:8)
    at /home/augustin/Workspace/MyProject/node_modules/react-native/packager/react-packager/src/FileWatcher/index.js:95:21
    at tryCallOne (/home/augustin/Workspace/MyProject/node_modules/react-native/node_modules/promise/lib/core.js:37:12)
    at /home/augustin/Workspace/MyProject/node_modules/react-native/node_modules/promise/lib/core.js:103:15
    at flush (/home/augustin/Workspace/MyProject/node_modules/react-native/node_modules/promise/node_modules/asap/raw.js:50:29)
    at doNTCallback0 (node.js:419:9)

See http://facebook.github.io/react-native/docs/troubleshooting.html
for common problems and solutions.
/home/augustin/Workspace/MyProject/node_modules/react-native/private-cli/src/server/server.js:91
    if (error.code === 'EADDRINUSE') {
             ^

TypeError: Cannot read property 'code' of undefined
    at process.<anonymous> (/home/augustin/Workspace/MyProject/node_modules/react-native/private-cli/src/server/server.js:105:14)
    at emitOne (events.js:77:13)
    at process.emit (events.js:169:7)
    at process._fatalException (node.js:223:26)

If I look at /home/augustin/Workspace/MyProject/node_modules/react-native/private-cli/src/server/server.js, apparently, err is undefined on:

  process.on('uncaughtException', error => {
    if (error.code === 'EADDRINUSE') {
      console.log(
        chalk.bgRed.bold(' ERROR '),
        chalk.red('Packager can\'t listen on port', chalk.bold(args.port))
      );
    ...
  }

How can this be? Using:

▶ node --version
v4.2.2

Upvotes: 7

Views: 8643

Answers (3)

iPragmatech
iPragmatech

Reputation: 429

This error is shown because your watchman has watched too many files and crossed its limit. So there are two ways to solve it either use the watchman and cancel its limit or without using watchman, you can fix it by increasing the number of inotify watches using the below command on your terminal.

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

Upvotes: 7

I know this is an old issue, but real solution for this problem in my case was the one described in this Stackoverflow question As I was using docker to build an Android app, it turned out that unused space was running out on my drive. React Native uses node-js underneath, but it's not so obvious for the uninitiated.

Upvotes: 1

Augustin Riedinger
Augustin Riedinger

Reputation: 22148

I fixed the issue by installing watchman.

Quoting this page:

We recommend installing watchman, otherwise you might hit a node file watching bug.

It is no recommendation, it is a dependency!

Upvotes: 7

Related Questions