React Native 运行watchman时出错

fafcakar  于 2022-12-14  发布在  React
关注(0)|答案(9)|浏览(208)

当我运行react-native start时,我收到以下消息
错误:触发了不可恢复的条件。Watchman需要您的帮助!触发条件的时间戳=1489123194:(/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)
ghg1uchk

ghg1uchk1#

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

守护者关闭服务器
这一个帮助

n3schb8v

n3schb8v2#

只需在终端中运行以下命令:

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中的其他方式make脚本

"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
tzxcd3kk

tzxcd3kk3#

增加inotify limit可增加您可以监控的文件数量限制。

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

请通过this了解更多信息

o3imoua4

o3imoua44#

这个也很有帮助。

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
aor9mmx1

aor9mmx15#

对我很有效

watchman watch-del-all
watchman shutdown-server

这里是我遵循的链接。

qnzebej0

qnzebej06#

更新
看守人
升级到最新的(4.7.0)版本帮助我解决了这个问题。

wyyhbhjk

wyyhbhjk7#

这一个帮助在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

[1]第一次世界大战结束后

0lvr5msh

0lvr5msh8#

您可以尝试以下解决方案之一来解决此问题:
第一遍点击终端中的代码行并测试它:

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

tktrz96b

tktrz96b9#

我面临着同样的问题,即使在重新安装watchman使用自制:删除pid、日志和sock文件后,以下步骤对我有效:

  • 触摸pid &&触摸日志&&触摸sock
  • watchman --前台--日志文件=/dev/标准输出
  • 允许的辅助功能权限:sudo chmod 700 /usr/local -关闭所有终端并重新运行我的命令。这应该会有帮助。

相关问题