Search code examples
react-nativewatchman

Facebook React Native Hot Reload not working ( Ubuntu 14.04 )


Objective:

I'm trying to get hot reload to work, where I make a change in the codebase, and changes appear within the android emulator as advertised.

Problem:

It doesn't work, I have a feeling it's related to facebook watchman. Everytime I make a change to the code base, the react-native server says

[sane] Warning: Lost connection to watchman, reconnecting..
[sane] Warning: Lost connection to watchman, reconnecting..
[sane] Warning: Lost connection to watchman, reconnecting..
etc....

BTW: Yes, I enabled hot reload from the developer menu within the android emulator


OS:

Ubuntu 14.04.5 LTS

Watchman:

watchman watch-list
{
    "version": "4.7.0",
    "roots": [
        "/home/andey/Downloads/wyse"
    ]
}

React Native:

react-native -v
react-native-cli: 1.2.0
react-native: 0.36.1


andey@work:~/Downloads/wyse$ react-native start
(node:9646) DeprecationWarning: os.tmpDir() is deprecated. Use os.tmpdir() instead.
(node:9646) DeprecationWarning: Using Buffer without `new` will soon stop working. Use `new Buffer()`, or preferably `Buffer.from()`, `Buffer.allocUnsafe()` or `Buffer.alloc()` instead.
Scanning 709 folders for symlinks in /home/andey/Downloads/wyse/node_modules (7ms)
 ┌────────────────────────────────────────────────────────────────────────────┐ 
 │  Running packager on port 8081.                                            │ 
 │                                                                            │ 
 │  Keep this packager running while developing on any JS projects. Feel      │ 
 │  free to close this tab and run your own packager instance if you          │ 
 │  prefer.                                                                   │ 
 │                                                                            │ 
 │  https://github.com/facebook/react-native                                  │ 
 │                                                                            │ 
 └────────────────────────────────────────────────────────────────────────────┘ 
Looking for JS files in
   /home/andey/Downloads/wyse 

[Hot Module Replacement] Server listening on /hot

React packager ready.

[11/8/2016, 3:21:54 PM] <START> Initializing Packager
[11/8/2016, 3:21:54 PM] <START> Building in-memory fs for JavaScript
[11/8/2016, 3:21:54 PM] <END>   Building in-memory fs for JavaScript (133ms)
[11/8/2016, 3:21:54 PM] <START> Building Haste Map
[11/8/2016, 3:21:54 PM] <END>   Building Haste Map (94ms)
[11/8/2016, 3:21:54 PM] <END>   Initializing Packager (295ms)
[sane] Warning: Lost connection to watchman, reconnecting..
[sane] Warning: Lost connection to watchman, reconnecting..
[11/8/2016, 3:22:19 PM] <START> Requesting bundle: {"url":"/index.android.bundle?platform=android&dev=true&hot=true&minify=false"}
[11/8/2016, 3:22:19 PM] <START> Transforming modules
transformed 641/641 (100%)
[11/8/2016, 3:22:20 PM] <END>   Transforming modules (1047ms)
[11/8/2016, 3:22:20 PM] <END>   Requesting bundle: {"url":"/index.android.bundle?platform=android&dev=true&hot=true&minify=false"} (1173ms)
[Hot Module Replacement] Client connected
[sane] Warning: Lost connection to watchman, reconnecting..
[sane] Warning: Lost connection to watchman, reconnecting..
[sane] Warning: Lost connection to watchman, reconnecting..
[sane] Warning: Lost connection to watchman, reconnecting..

Solution

  • I completely uninstalled watchman from my system, and hot reloading started to work. This my be a coincidence, I'm not sure, but it's working now.