在 Ubuntu 17.10 上启动 npm 后,出现 react-native watchman 错误。

在 Ubuntu 17.10 上启动 npm 后,出现 react-native watchman 错误。

我正在尝试在 Ubuntu 上启动 React-native 项目,node、npm 都是最新版本。根据文档,我已经安装了所有官方版本create-react-native-app及其依赖项。

这是 npm start 后的输出屏幕

gd@gd:~/Desktop$ cd testing7/
gd@gd:~/Desktop/testing7$ npm start

> [email protected] start /home/gd/Desktop/testing7
> react-native-scripts start

10:01:07: Starting packager...
***ERROR STARTING PACKAGER***
Starting React Native packager...
Scanning folders for symlinks in /home/gd/Desktop/testing7/node_modules (44ms)
Loading dependency graph.



jest-haste-map: Watchman crawl failed. Retrying once with node crawler.
  Usually this happens when watchman isn't running. Create an empty `.watchmanconfig` file in your project's root folder or initialize a git or hg repository in your project.
  Error: Watchman error: A non-recoverable condition has triggered.  Watchman needs your help!
The triggering condition was at timestamp=1523075484: opendir(/home/gd/Desktop/testing7/node_modules/metro/node_modules/ansi-regex) -> The user limit on the total number of inotify watches was reached; increase the fs.inotify.max_user_watches sysctl
All requests will continue to fail with this message until you resolve
the underlying problem.  You will find more information on fixing this at
https://facebook.github.io/watchman/docs/troubleshooting.html#poison-opendir. Make sure watchman is running for this project. See https://facebook.github.io/watchman/docs/troubleshooting.html.

截屏

答案1

尝试这两个命令

`watchman watch-del-all`
`watchman shutdown-server`

答案2

尝试这个命令:

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

答案3

运行以下命令或创建包含以下内容的 bash 文件并

运行为bash yourfilename.sh

touch .watchmanconfig
watchman watch-del-all
watchman shutdown-server
sudo pkill -9 -x fseventsd
echo fs.inotify.max_user_instances=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
echo fs.inotify.max_queued_events=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

答案4

如需解决 WatchMan 错误,请查看此页面这里

相关内容