react-native: Packager fails on macOS 10.12 Sierra
I have upgraded to the macOS Sierra beta yesterday, and the React Native Packager seems to fail. I’ve tried to reinstall the dependencies, but no use.
The output of the packager is this:
[11:45:02 AM] <START> Building Dependency Graph
[11:45:02 AM] <START> Crawling File System
[Hot Module Replacement] Server listening on /hot
React packager ready.
2016-08-09 11:45 node[6397] (FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-22)
2016-08-09 11:45 node[6397] (FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-22)
2016-08-09 11:45 node[6397] (FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-22)
ERROR watch null EMFILE
{"code":"EMFILE","errno":"EMFILE","syscall":"watch null","filename":null}
Error: watch null EMFILE
at exports._errnoException (util.js:873:11)
at FSEvent.FSWatcher._handle.onchange (fs.js:1217:21)
The only reference to that specific error I have found is this old issue on the Node 0.10 repo’s. I have tried the ‘fix’ in that topic, namely increasing the open file references limit. That didn’t work.
The issue occurs on both Node 4.4.7 and 6.3.1, on macOS Sierra 10.12 on a MBP 2015 15". Does anyone know what is going on here?
About this issue
- Original URL
- State: closed
- Created 8 years ago
- Reactions: 48
- Comments: 38 (1 by maintainers)
Credit to @passwd for figuring this out
We were able to get it to work by increasing the max file limit and moving to watchman v4.6.0
here are the steps we followed:
1. increase max file limt
2. upgrade to watchman 4.6
FINALLY!!!
I ran the
watchman watch-list
command, then the error suggested me to runchmod 0700 /usr/local/var/run/watchman/<USER>-state
as @oscart said, then it worked!!I was checking watchman issues and found out this one: https://github.com/facebook/watchman/issues/358
When running
watchman watch-list
I got some permissions error.chmod 0700 /usr/local/var/run/watchman/<USER>-state
worked for me.Isn’t working for me 👎
Versions:
Log:
unfortunately it does not work for me
Just got this as well, also on sierra
Upgrading watchman worked, brew didn’t cooperate but heh…
Note that this is also what happens if you don’t have Watchman installed at all.
No luck 😦
@jalmaas value updates only after reboot. Worked for me on GM.
But indeed, just updating to
watchman
4.6.0+ seems to be enough.React Native works fine with relatively up-to-date software. These are the settings that are working for me:
I followed most of the steps above including upgrading watchman, and increasing the max file limit, but what solved it for me was verifying permissions by running
watchman watch-list
and then following the directions it provided. Thanks @oscart and @hghinaglia!I have the following configurations:
OSX: Sierra XCode: 8.1 NodeJS: 5.1.0 Watchman: 4.6.0 kern.maxfiles: 10485760
I used to following steps to fix the issue.
watchman watch-list
This fixed it. To summarize, it seems to have been a permissions problem on a Watchman directory.
System doesn’t report the updated value when i run
sysctl kern.maxfiles
(reports 300k) but upgraded to watchman 4.7.0 withbrew install watchman
and it seems to work