运行守望者时出错
Error when running watchman
当我 运行 react-native start
时,我收到以下消息
错误:触发了不可恢复的条件。守望者需要你的帮助!
触发条件是 timestamp=1489123194: inotify-add-watch(/var/www/html/eventManager/android/app/src/main/res/mipmap-mdpi) -> 已达到用户对 inotify watch 总数的限制;增加 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
watchman shutdown-server
这个有帮助
正在更新
watchman
最新(4.7.0)版本帮我解决了这个问题
只需 运行 终端中的这些命令:
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
这个也很有用。
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
增加 inotify 限制以增加您可以监控的文件数量限制。
$ echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf
$ sudo sysctl -p
请浏览 this 了解更多信息
您可以尝试以下解决方案之一来解决它:
首先在您的终端中点击一行代码并进行测试:
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”
否则调试器页面可能在之前的会话中处于打开状态。完全关闭选项卡,然后在新选项卡中打开调试器解决了这个问题。
如果 none 以上解决方案对您不起作用,请尝试重新启动您的 PC
对我有用
watchman watch-del-all
watchman shutdown-server
这是我关注的link。
这个帮助在 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 @eladcandroid [1]
当我 运行 react-native start
时,我收到以下消息
错误:触发了不可恢复的条件。守望者需要你的帮助! 触发条件是 timestamp=1489123194: inotify-add-watch(/var/www/html/eventManager/android/app/src/main/res/mipmap-mdpi) -> 已达到用户对 inotify watch 总数的限制;增加 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
watchman shutdown-server
这个有帮助
正在更新
watchman
最新(4.7.0)版本帮我解决了这个问题
只需 运行 终端中的这些命令:
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
这个也很有用。
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
增加 inotify 限制以增加您可以监控的文件数量限制。
$ echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf
$ sudo sysctl -p
请浏览 this 了解更多信息
您可以尝试以下解决方案之一来解决它:
首先在您的终端中点击一行代码并进行测试:
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”
否则调试器页面可能在之前的会话中处于打开状态。完全关闭选项卡,然后在新选项卡中打开调试器解决了这个问题。
如果 none 以上解决方案对您不起作用,请尝试重新启动您的 PC
对我有用
watchman watch-del-all
watchman shutdown-server
这是我关注的link。
这个帮助在 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 @eladcandroid [1]