Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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
like image 807
Augustin Riedinger Avatar asked Nov 27 '15 22:11

Augustin Riedinger


3 Answers

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!

like image 132
Augustin Riedinger Avatar answered Sep 25 '22 07:09

Augustin Riedinger


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
like image 33
iPragmatech Avatar answered Sep 26 '22 07:09

iPragmatech


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.

like image 45
Yaronius Avatar answered Sep 22 '22 07:09

Yaronius