React native error: Error: watch EMFILE
React native error: Error: watch EMFILE
我刚刚启动了我的第一个 React 本机应用程序:
http://www.raywenderlich.com/99473/introducing-react-native-building-apps-javascript
然而,当我 运行 构建时,我得到以下信息:它重要吗?
[5:24:30 PM] <START> Building Dependency Graph
[5:24:30 PM] <START> Crawling File System
ERROR watch EMFILE
{"code":"EMFILE","errno":"EMFILE","syscall":"watch"}
Error: watch EMFILE
at exports._errnoException (util.js:746:11)
at FSWatcher.start (fs.js:1172:11)
at Object.fs.watch (fs.js:1198:11)
at NodeWatcher.watchdir (/Users/me/PhpstormProjects/foo/node_modules/react-native/node_modules/sane/src/node_watcher.js:144:20)
at Walker.<anonymous>
EMFILE 是一个错误,当单个进程打开了太多文件时会发生这种错误。本周我在不同的技术栈上遇到了同样的问题。您可以通过使用 ulimit
命令增加打开文件的限制来避免该错误。
ulimit 4096 # for instance
您或许应该弄清楚为什么打开了这么多文件。也许您的监视任务是监视 node_modules
文件夹或类似文件夹中的文件。
希望对您有所帮助
我 运行 在更新到 macOS Sierra 时遇到了同样的问题,但是,事实证明 watchman 是罪魁祸首。翻阅日志,我偶然发现了很多 odd permission issues.
如 github/facebook/react-native#9943 所述,重新安装 watchman 可解决问题。
rm -rf /usr/local/var/run/watchman/
brew uninstall watchman
brew install watchman
我在 MAC OS (Sierra) 上遇到了这个问题,解决方法是在终端上执行以下步骤:
launchctl limit maxfiles
可能会显示256为下限。以下命令将更改限制。
sudo launchctl limit maxfiles 2048 unlimited
接下来您还想卸载 react-native 并重新安装它,这样您就可以获得一个更适合 Sierra 的版本。您还想更新 Homebrew 并安装当前版本的 watchman。
npm uninstall -g react-native-cli
npm install -g react-native-cli
brew update
brew install watchman
运行 rm -rf node_modules && npm install
也许有帮助。
我刚刚启动了我的第一个 React 本机应用程序:
http://www.raywenderlich.com/99473/introducing-react-native-building-apps-javascript
然而,当我 运行 构建时,我得到以下信息:它重要吗?
[5:24:30 PM] <START> Building Dependency Graph
[5:24:30 PM] <START> Crawling File System
ERROR watch EMFILE
{"code":"EMFILE","errno":"EMFILE","syscall":"watch"}
Error: watch EMFILE
at exports._errnoException (util.js:746:11)
at FSWatcher.start (fs.js:1172:11)
at Object.fs.watch (fs.js:1198:11)
at NodeWatcher.watchdir (/Users/me/PhpstormProjects/foo/node_modules/react-native/node_modules/sane/src/node_watcher.js:144:20)
at Walker.<anonymous>
EMFILE 是一个错误,当单个进程打开了太多文件时会发生这种错误。本周我在不同的技术栈上遇到了同样的问题。您可以通过使用 ulimit
命令增加打开文件的限制来避免该错误。
ulimit 4096 # for instance
您或许应该弄清楚为什么打开了这么多文件。也许您的监视任务是监视 node_modules
文件夹或类似文件夹中的文件。
希望对您有所帮助
我 运行 在更新到 macOS Sierra 时遇到了同样的问题,但是,事实证明 watchman 是罪魁祸首。翻阅日志,我偶然发现了很多 odd permission issues.
如 github/facebook/react-native#9943 所述,重新安装 watchman 可解决问题。
rm -rf /usr/local/var/run/watchman/
brew uninstall watchman
brew install watchman
我在 MAC OS (Sierra) 上遇到了这个问题,解决方法是在终端上执行以下步骤:
launchctl limit maxfiles
可能会显示256为下限。以下命令将更改限制。
sudo launchctl limit maxfiles 2048 unlimited
接下来您还想卸载 react-native 并重新安装它,这样您就可以获得一个更适合 Sierra 的版本。您还想更新 Homebrew 并安装当前版本的 watchman。
npm uninstall -g react-native-cli
npm install -g react-native-cli
brew update
brew install watchman
运行 rm -rf node_modules && npm install
也许有帮助。