![在 Ubuntu 17.10 上启动 npm 后,出现 react-native watchman 错误。](https://linux22.com/image/1006923/%E5%9C%A8%20Ubuntu%2017.10%20%E4%B8%8A%E5%90%AF%E5%8A%A8%20npm%20%E5%90%8E%EF%BC%8C%E5%87%BA%E7%8E%B0%20react-native%20watchman%20%E9%94%99%E8%AF%AF%E3%80%82.png)
我正在尝试在 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 错误,请查看此页面这里