提问者:小点点

React Native:XCode:构建失败并出现错误“EMFILE:打开的文件太多,请注意”


-MackBook Air M1-macOS 11.3-XCode 12.5-react native 0.64.1-node 16.0.0-npm 7.15.1-watchman 2021.05.31.00

当我尝试归档项目或为设备构建项目时,Xcode会停止构建并出现错误:

/Users/aptyp/Projects/Proffmylife/Client/node_modules/metro-hermes-compiler/src/emhermesc.js:81
          throw ex;
          ^

Error: EMFILE: too many open files, watch
    at FSEvent.FSWatcher._handle.onchange (node:internal/fs/watchers:204:21)
Emitted 'error' event on NodeWatcher instance at:
    at NodeWatcher.checkedEmitError (/Users/aptyp/Projects/Proffmylife/Client/node_modules/sane/src/node_watcher.js:143:12)
    at FSWatcher.emit (node:events:365:28)
    at FSEvent.FSWatcher._handle.onchange (node:internal/fs/watchers:210:12) {
  errno: -24,
  syscall: 'watch',
  code: 'EMFILE',
  filename: null
}
Command PhaseScriptExecution failed with a nonzero exit code

但是对于模拟器,构建工作正常。

我试图重新安装node_modules,豆荚,看守与酿造。我还创建了文件limited. maxfiles.plist,limited.maxproc.plist到dir /Library/LaunchDaemons/,现在ulimited-a显示进程2000和文件描述符524288。重启计算机并解锁钥匙串。

在我和哈金托什的PC上,我没有这个问题。


共2个答案

匿名用户

此错误是由于mac m1硅的模块fseentsbug。请参阅线程:https://github.com/facebook/metro/issues/668

它通过新版本的watchman得到了修复。通过brew升级您的watchman。删除您的项目并从git下载并重建所有内容以及pod install,然后它应该归档没有问题。

脸谱网的人承认了bug并修复了它

匿名用户

我创建了一个同名的新项目,安装了所有最新的包并复制了代码。只有在那之后,项目才构建成功。