OS 10.12 React-Native服务无法启动

升级OS10.12之后,react-native的本地服务突然不能正常启动了。怀疑是react-native版本问题。从0.28.x的版本切换到0.33.x的版本,还是不能启动,报错如下:
FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-22)
FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-22)
FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-22)
FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-22)
FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-22)
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:890:11)
at FSEvent.FSWatcher._handle.onchange (fs.js:1296:21)

修复方法:升级watchman版本至4.6
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

  1. 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

其中1步骤失败了。2的步骤成功。
可以启动本地服务器了。

解决方法:https://github.com/facebook/react-native/issues/9309

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,478评论 19 139
  • PLEASE READ THE FOLLOWING APPLE DEVELOPER PROGRAM LICENSE...
    念念不忘的阅读 14,595评论 5 6
  • NAME dnsmasq - A lightweight DHCP and caching DNS server....
    ximitc阅读 7,946评论 0 0
  • 八年前我写了一篇文章《Tech Lead的三重人格》。迄今为止为数众多的敏捷交付团队中,Tech Lead(技术领...
    ThoughtWorks阅读 5,385评论 0 40
  • 楊絳先生:我們曾經如此渴望命運的波瀾,到最後才發現,人生最曼妙的風景,竟是內心的從容淡定!這是先生百歲感言,若沒有...
    粟莎阅读 2,695评论 0 0