Skip to content

Packager fails on macOS 10.12 Sierra #9309

Closed
@goldenice

Description

@goldenice

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?

Activity

deadlocked247

deadlocked247 commented on Aug 10, 2016

@deadlocked247

Just got this as well, also on sierra

mc13an

mc13an commented on Aug 10, 2016

@mc13an

me as well, also on sierra

mc13an

mc13an commented on Aug 10, 2016

@mc13an

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

# check open file limit
sysctl kern.maxfiles

# edit sysctl
sudo vim /etc/sysctl.conf

# add these two lines
kern.maxfiles=10485760
kern.maxfilesperproc=1048576

# reboot
sudo reboot

# check new file limit
sysctl kern.maxfiles

2. upgrade to watchman 4.6

# clone repo
git clone https://github.com/facebook/watchman.git

# change to master branch
git checkout -b v4.6.0 v4.6.0

# run compiler
./autogen.sh
./configure --enable-lenient --without-pcre --with-python
make
sudo make install

# check watchman version
watchman -v

# result should be 4.6.0
deadlocked247

deadlocked247 commented on Aug 10, 2016

@deadlocked247

@mc-lean you're the best!!!

goldenice

goldenice commented on Aug 12, 2016

@goldenice
Author

@mc-lean Nice! :)

Are there any plans to update watchman in the RN-repo so RN works out-of-the-box again?

mc13an

mc13an commented on Aug 12, 2016

@mc13an

@goldenice I would guess that it is. Sierra is due out in September so I would think they would plan to support it out of the box soon

aahlad-allari

aahlad-allari commented on Aug 21, 2016

@aahlad-allari

@mc-lean Thanks 👍

kjpolaszek

kjpolaszek commented on Aug 29, 2016

@kjpolaszek

Great, it works. 👍

zhaomiing

zhaomiing commented on Sep 6, 2016

@zhaomiing

thanks, you made my day :)

jalmaas

jalmaas commented on Sep 13, 2016

@jalmaas

System doesn't report the updated value when i run sysctl kern.maxfiles (reports 300k) but upgraded to watchman 4.7.0 with brew install watchman and it seems to work

monder

monder commented on Sep 13, 2016

@monder

@jalmaas value updates only after reboot. Worked for me on GM.

But indeed, just updating to watchman 4.6.0+ seems to be enough.

jalmaas

jalmaas commented on Sep 13, 2016

@jalmaas

it didn't update after reboot here

ide

ide commented on Sep 13, 2016

@ide
Contributor

React Native works fine with relatively up-to-date software. These are the settings that are working for me:

$ node --version
v6.5.0
$ watchman --version
4.6.0
$ sysctl kern.maxfiles
kern.maxfiles: 16384
$ sysctl kern.maxfilesperproc
kern.maxfilesperproc: 10240
lauborges

lauborges commented on Sep 13, 2016

@lauborges

unfortunately it does not work for me

macOS 10.12 (16A319)

$ node --version
-> v6.5.0
$ watchman --version
-> 4.6.0
$ sysctl kern.maxfiles
-> 10485760
$ sysctl kern.maxfilesperproc
-> 1048576
React packager ready.

2016-09-13 17:10 node[8707] (FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-22)
2016-09-13 17:10 node[8707] (FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-22)
2016-09-13 17:10 node[8707] (FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-22)
2016-09-13 17:10 node[8707] (FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-22)
2016-09-13 17:10 node[8707] (FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-22)
2016-09-13 17:10 node[8707] (FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-22)
2016-09-13 17:10 node[8707] (FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-22)
2016-09-13 17:10 node[8707] (FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-22)
 ERROR  Error watching file for changes: EMFILE
{"code":"EMFILE","errno":"EMFILE","syscall":"Error watching file for changes:","filename":null}
Error: Error watching file for changes: EMFILE
    at exports._errnoException (util.js:1026:11)
    at FSEvent.FSWatcher._handle.onchange (fs.js:1406:11)

36 remaining items

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @mager@oscardemoya@sri-rang@monder@ide

        Issue actions

          Packager fails on macOS 10.12 Sierra · Issue #9309 · facebook/react-native