npm React Native错误:EMFILE:打开的文件太多,请注意

4zcjmb1e  于 2022-11-14  发布在  React
关注(0)|答案(2)|浏览(436)

得到以下错误,但不是100%确定原因。目前得到这个问题时,我运行我的应用程序在ios模拟器
我试着做npm安装watchman,但我刚刚看到了npm软件包的最新更新,它似乎已经贬值.

events.js:292
      throw er; // Unhandled 'error' event
      ^

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
}
ztmd8pv5

ztmd8pv51#

此错误是由watchman引起的。
您应该在终端中运行brew install watchman
如果watchman安装失败,您应该通过以下方式将这些目录的所有权更改为您的用户

sudo chown -R $(whoami) /usr/local/etc/bash_completion.d /usr/local/lib/pkgconfig /usr/local/var/log

请参阅您的终端中的提示。
最后运行brew install watchman,问题应该得到解决。

vm0i2vca

vm0i2vca2#

对于那些使用Mac M1的人,我尝试了上面的brew安装和升级watchman,但是没有成功。我的具体问题是,react-native项目可以通过'npm run ios'在模拟器上正常构建,但是当通过xcode归档或构建时,我会得到这个错误。几个小时后,这是什么:

  • 进入你的Mac系统偏好设置中的安全,并给予watchman完整的磁盘访问权限
  • 由于某些原因(可能是因为Apple限制访问),您正在构建的项目在桌面或文档位置无法运行。一旦我将其移动到/Users/myname/下,它最终构建并存档在xcode中。

希望这将保存别人的6个小时,我花了调试和试图弄清楚这一点。
编辑:这又坏了,所以必须按照下一个来修复它:
此错误是由于mac m1芯片的模块fsevents中的错误造成的。请参阅线程:https://github.com/facebook/metro/issues/668
它得到了修复与新版本的watchman。升级您的watchman通过brew。删除您的项目,并从git下载,并重建一切沿着pod安装,然后它应该归档没有问题。

相关问题