`npm start` 问题:尽管打开的文件限制 = 65536,但仍观察 EMFILE 时出错
Issue with `npm start`: ERROR watch EMFILE although open files limit = 65536
ulimit -a
日志:
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
max locked memory (kbytes, -l) unlimited
max memory size (kbytes, -m) unlimited
open files (-n) 65536
pipe size (512 bytes, -p) 1
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 709
virtual memory (kbytes, -v) unlimited
虽然我在 npm start
.
时仍然收到 EMFILE 错误
react-native@0.3.11 start /node_modules/react-native
./packager/packager.sh
===============================================================
| Running packager on port 8081.
| Keep this packager running while developing on any JS
| projects. Feel free to close this tab and run your own
| packager instance if you prefer.
|
| https://github.com/facebook/react-native
|
===============================================================
在 /
中寻找 JS 文件
React 打包器准备就绪。
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 (/node_modules/sane/src/node_watcher.js:144:20)
at Walker.<anonymous> (/node_modules/react-native/node_modules/sane/src/node_watcher.js:351:12)
at Walker.emit (events.js:110:17)
at /node_modules/react-native/node_modules/sane/node_modules/walker/lib/walker.js:69:16
at FSReqWrap.oncomplete (fs.js:95:15)
您的节点服务器的根目录似乎使用了“/”,因此根目录下的文件过多导致错误。
您忘记安装 watchman,安装方法如下:
通过 Homebrew 在 OSX 上安装
brew update
brew install watchman
从源安装
git clone https://github.com/facebook/watchman.git
cd watchman
./autogen.sh
./configure
make
sudo make install
ulimit -a
日志:
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
max locked memory (kbytes, -l) unlimited
max memory size (kbytes, -m) unlimited
open files (-n) 65536
pipe size (512 bytes, -p) 1
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 709
virtual memory (kbytes, -v) unlimited
虽然我在 npm start
.
react-native@0.3.11 start /node_modules/react-native ./packager/packager.sh
===============================================================
| Running packager on port 8081.
| Keep this packager running while developing on any JS
| projects. Feel free to close this tab and run your own
| packager instance if you prefer.
|
| https://github.com/facebook/react-native
|
===============================================================
在 /
中寻找 JS 文件React 打包器准备就绪。
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 (/node_modules/sane/src/node_watcher.js:144:20)
at Walker.<anonymous> (/node_modules/react-native/node_modules/sane/src/node_watcher.js:351:12)
at Walker.emit (events.js:110:17)
at /node_modules/react-native/node_modules/sane/node_modules/walker/lib/walker.js:69:16
at FSReqWrap.oncomplete (fs.js:95:15)
您的节点服务器的根目录似乎使用了“/”,因此根目录下的文件过多导致错误。
您忘记安装 watchman,安装方法如下:
通过 Homebrew 在 OSX 上安装
brew update
brew install watchman
从源安装
git clone https://github.com/facebook/watchman.git
cd watchman
./autogen.sh
./configure
make
sudo make install