运行守望者时出错

时间:2017-03-10 05:37:05

标签: react-native watchman

当我运行react-native start时,我收到以下消息

错误:触发了不可恢复的情况。守望者需要你的帮助! 触发条件是在timestamp = 1489123194:inotify-add-watch(/ var / www / html / eventManager / android / app / src / main / res / mipmap-mdpi) - >达到了用户对inotify手表总数的限制;增加fs.inotify.max_user_watches sysctl 在您解决之前,所有请求都将继续失败并显示此消息 潜在的问题。您将找到有关修复此问题的更多信息 https://facebook.github.io/watchman/docs/troubleshooting.html#poison-inotify-add-watch

at ChildProcess.<anonymous> (/var/www/html/bookLister/node_modules/fb-watchman/index.js:207:21)
at emitTwo (events.js:106:13)
at ChildProcess.emit (events.js:191:7)
at maybeClose (internal/child_process.js:852:16)
at Socket.<anonymous> (internal/child_process.js:323:11)
at emitOne (events.js:96:13)
at Socket.emit (events.js:188:7)
at Pipe._handle.close [as _onclose] (net.js:492:12)

6 个答案:

答案 0 :(得分:13)

echo 256 | sudo tee -a /proc/sys/fs/inotify/max_user_instances
echo 32768 | sudo tee -a /proc/sys/fs/inotify/max_queued_events
echo 65536 | sudo tee -a /proc/sys/fs/inotify/max_user_watches
  

watchman shutdown-server

这个帮助

答案 1 :(得分:1)

只需在终端中运行这些命令:

echo 256 | sudo tee -a /proc/sys/fs/inotify/max_user_instances
echo 32768 | sudo tee -a /proc/sys/fs/inotify/max_queued_events
echo 65536 | sudo tee -a /proc/sys/fs/inotify/max_user_watches
watchman shutdown-server  

其他方式在package.json

中制作脚本
"scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "test": "jest",
    "flow": "flow",
    "flow-stop": "flow stop",
    "watch-need-help": "echo 256 | sudo tee -a /proc/sys/fs/inotify/max_user_instances && echo 32768 | sudo tee -a /proc/sys/fs/inotify/max_queued_events && echo 65536 | sudo tee -a /proc/sys/fs/inotify/max_user_watches && watchman shutdown-server"
  },

在项目目录

中的终端上运行以下命令
npm run watch-need-help

答案 2 :(得分:0)

更新

  

守望

到最新版本(4.7.0)帮助我解决了这个问题。

答案 3 :(得分:0)

这一个也很有用。

echo 999999 | sudo tee -a /proc/sys/fs/inotify/max_user_watches  && echo 999999 | sudo tee -a  /proc/sys/fs/inotify/max_queued_events && echo 999999 | sudo tee  -a /proc/sys/fs/inotify/max_user_instances && watchman  shutdown-server

答案 4 :(得分:0)

增加inotify限制以增加可以监视的文件数的限制。

$ echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf
$ sudo sysctl -p

请通过this获取更多信息

答案 5 :(得分:0)

您可以尝试以下解决方法之一来解决它:

在您的终端中先通过命中代码行并对其进行测试:

echo 999999 | sudo tee -a /proc/sys/fs/inotify/max_user_watches  && echo 999999 | sudo tee -a  /proc/sys/fs/inotify/max_queued_events && echo 999999 | sudo tee  -a /proc/sys/fs/inotify/max_user_instances && watchman  shutdown-server

或尝试在项目的根目录中使用“ react-native run-android”或“ run-ios”,然后在其他终端中使用“ react-native start”

否则,调试器页面可能在以前的会话中处于打开状态。完全关闭选项卡,然后在新选项卡中打开调试器即可解决此问题。

如果上述解决方案均无法解决,请尝试重新启动PC