运行Watchman时错误



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

错误:已触发了不可回收的条件。守望者需要您的帮助!触发条件在时间戳= 1489123194:inotify-add-watch(/var/www/html/eventmanager/android/android/app/src/src/res/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)
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
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

守望者关闭服务器

这个帮助

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

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

它对我有用

watchman watch-del-all
watchman shutdown-server

这是我关注的链接。

增加in Inotify限制以增加您可以监视的文件数量的限制。

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

请浏览更多信息

这个也很有帮助。

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.7.0)版本帮助我解决了这个问题。

这有助于在github问题上找到它

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 && sudo sysctl -p

https://github.com/facebook/watchman/issues/163 by @eladcandroid [1]

您可以通过尝试以下解决方案之一来解决它:

您的终端中的第一个通过代码的命中线并对其进行测试:

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

或尝试使用&quot&quot&quots'或" run-ios"在您的项目的根源中,然后(在其他终端)"反应启动"

否则,可能会从以前的会话中打开调试器页面。完全关闭标签,然后在新标签中打开调试器解决了问题。

如果以上解决方案不使用,则尝试重新启动您的PC

我即使使用Homebrew重新安装Watchman后也面临着同样的问题:删除PID,日志和袜子文件后,以下步骤对我有用:

  • 触摸pid&amp;&amp;触摸日志&amp;&amp;触摸袜子
  • 守望者 - 前景-logfile =/dev/stdout
  • 允许可访问性权限:sudo chmod 700/usr/local - 所有终端都盖上了我的命令。那应该有帮助。

相关内容

  • 没有找到相关文章

最新更新