这是完整的错误“错误:EMFILE:打开的文件太多,请观看 在 FSEvent.FSWatcher._handle.onchange (node:internal/fs/watchers:207:21" 我从 React Native 安装了 api (AsyncStorage) 后开始出现问题。我卸载了它,卸载了所有节点模块,再次运行 npm,更新expo 版本,尝试了无限的东西,但没有任何效果。有人说“brew install watchman”,我尝试过,但它不起作用,因为我只在后端使用 Firebase。我使用的是 M1 mac Air 2020。
任何有关如何与世博会合作的帮助,我们将不胜感激。
我也遇到了同样的问题,我也在尝试使用守望者之类的东西。但最简单的方法已经奏效了。删除nodemodules文件夹并再次执行npm install。
Linux/macOS:
rm -rf node_modules
npm install
我希望这有帮助。
似乎是 MacBook M1+ 芯片的一个已知问题。
答案似乎是通过
brew install watchman
安装watchman
然后按照 watchman 的文档进行操作:https://facebook.github.io/watchman/docs/install
这来自文档:
macOS 文件描述符限制 仅适用于 macOS 10.6 及更早版本(尽管它在 14.6.1 上为我修复了该问题)
macOS 上默认的每进程描述符限制非常低(256!)。
Watchman 在启动时会尝试提高其描述符限制以匹配 kern.maxfilesperproc,因此您不需要搞乱 ulimit;只需提高 sysctl 就可以解决问题。
以下将提高限制以允许总共 1000 万个文件,每个进程 100 万个文件,直到下次重新启动为止。
$ sudo sysctl -w kern.maxfiles=10485760
$ sudo sysctl -w kern.maxfilesperproc=1048576
将以下内容放入 macOS 上名为 /etc/sysctl.conf 的文件中将导致这些值在重新启动后仍然存在:
kern.maxfiles=10485760
kern.maxfilesperproc=1048576
Github 上也正在跟踪此问题:https://github.com/expo/expo/issues/29083