React Native:XCode:构建失败,出现错误 "EMFILE: too many open files, watch"
React Native: XCode: Build failed with error "EMFILE: too many open files, watch"
– MacBook Air M1
– macOS 11.3
– XCode 12.5
– 反应本机 0.64.1
– 节点 16.0.0
– npm 7.15.1
– 守望者 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,Pods,watchman 与 brew。我还创建了文件 limit.maxfiles.plist, limit.maxproc.plist 到目录 /Library/LaunchDaemons/ 现在 ulimit -a 显示 进程 2000 和 文件描述符 524288。重新启动计算机并解锁钥匙串。
在装有 Hackintosh 的 PC 上我没有这个问题。
我创建了一个同名的新项目,安装了所有最新的包并复制了代码。之后项目才搭建成功。
此错误是由于 mac m1 芯片的模块 fsevents 中的错误。查看主题:https://github.com/facebook/metro/issues/668
它已通过新版本的守望者修复。通过 brew 升级你的守望者。删除您的项目并从 git 下载并重建所有内容以及 pod 安装,然后它应该没问题。
Facebook guy admitting to the bug and fixing it
– MacBook Air M1 – macOS 11.3 – XCode 12.5 – 反应本机 0.64.1 – 节点 16.0.0 – npm 7.15.1 – 守望者 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,Pods,watchman 与 brew。我还创建了文件 limit.maxfiles.plist, limit.maxproc.plist 到目录 /Library/LaunchDaemons/ 现在 ulimit -a 显示 进程 2000 和 文件描述符 524288。重新启动计算机并解锁钥匙串。
在装有 Hackintosh 的 PC 上我没有这个问题。
我创建了一个同名的新项目,安装了所有最新的包并复制了代码。之后项目才搭建成功。
此错误是由于 mac m1 芯片的模块 fsevents 中的错误。查看主题:https://github.com/facebook/metro/issues/668
它已通过新版本的守望者修复。通过 brew 升级你的守望者。删除您的项目并从 git 下载并重建所有内容以及 pod 安装,然后它应该没问题。
Facebook guy admitting to the bug and fixing it