React Native 错误:EMFILE:打开的文件太多,请注意
React Native Error: EMFILE: too many open files, watch
Error: EMFILE: too many open files, watch
at FSEvent.FSWatcher._handle.onchange (internal/fs/watchers.js:127:28)
Emitted 'error' event on NodeWatcher instance at:
at NodeWatcher.checkedEmitError
at FSWatcher.emit (events.js:315:20)
at FSEvent.FSWatcher._handle.onchange (internal/fs/watchers.js:133:12) {
errno: -24,
syscall: 'watch',
code: 'EMFILE',
filename: null
}
报错信息中,一般错误都是在watchers.js这个文件中,不同机器可能行数会不同,但是报错定位点都是这个JSON格式中:
{
errno: -24,
syscall: 'watch',
code: 'EMFILE',
filename: null
}
该错误一般都是苹果M1芯片机型,是一个芯片问题导致的报错。
解决方案:
如果你的项目对于npm组件watchman有依赖:
请参阅stackoverflow上面的解决方案:
点我跳转到stackoverflow
https://stackoverflow.com/questions/64232960/react-native-error-emfile-too-many-open-files-watch
如果项目没有使用watchman组件:
可以在项目package.json文件夹中查找,是否有watchman关键字的组件。
如果没有任何watchman相关的组件,请手动删除node_modules文件夹,重新安装依赖。
删除文件夹后执行:
yarn install
本人出现的就是该种情况,重新安装依赖后恢复正常。