我使用React Native 40.0.1,运行yarn start
或expo start
时出现以下错误:
Error: EMFILE: too many open files, watch
at FSEvent.FSWatcher._handle.onchange (node:internal/fs/watchers:204:21)
我尝试过brew install watchman
,因为这是我访问的多个GH问题和SO帖子所建议的。这并没有解决问题。
我使用NodeJS16.14.2
(expo官方不支持17)和expo-cli5.4.12
。
package.json
和yarn.lock
可以在这个GitHub Gist:上找到
https://gist.github.com/DillonB07/5ea28e083074333879bae52b6134ee2c
我的操作系统是macOS Catalina 10.15.7,带有英特尔芯片。
如何解决此问题?
此错误是由看守人引起的。
您应该在终端中运行brew-install watchman。
如果watcher安装失败,您应该通过将这些目录的所有权更改为您的用户
sudo chown-R$(whoami)/usr/local/etc/bash_completion.d/usr/local/lib/kgconfig/usr/local/var/log
请参阅您的终端中的提示。
最后运行brew install watchman。这个问题应该解决。。
在我更新了依赖项后,它就工作了。我使用旧的依赖项,因为它们本应适用于我的项目,但显然在某个地方出现了问题。