【Vue npm run server启动项目出现Error: EMFILE: too many open files, watch 】
问题:
INFO Starting development server...
10% building 2/2 modules 0 activeevents.js:377
throw er; // Unhandled 'error' event
^
Error: EMFILE: too many open files, watch '/.../public'
at FSWatcher.<computed> (internal/fs/watchers.js:243:19)
at Object.watch (fs.js:1586:34)
at createFsWatchInstance (/.../node_modules/webpack-dev-server/node_modules/chokidar/lib/nodefs-handler.js:38:15)
at setFsWatchListener (.../node_modules/webpack-dev-server/node_modules/chokidar/lib/nodefs-handler.js:81:15)
at FSWatcher.NodeFsHandler._watchWithNodeFs (/.../node_modules/webpack-dev-server/node_modules/chokidar/lib/nodefs-handler.js:233:14)
at FSWatcher.NodeFsHandler._handleDir (/.../node_modules/webpack-dev-server/node_modules/chokidar/lib/nodefs-handler.js:429:19)
at FSWatcher.<anonymous> (/.../node_modules/webpack-dev-server/node_modules/chokidar/lib/nodefs-handler.js:477:19)
at FSWatcher.<anonymous> (/.../node_modules/webpack-dev-server/node_modules/chokidar/lib/nodefs-handler.js:482:16)
at FSReqCallback.oncomplete (fs.js:192:5)
Emitted 'error' event on FSWatcher instance at:
at FSWatcher._handleError (.../node_modules/webpack-dev-server/node_modules/chokidar/index.js:260:10)
at createFsWatchInstance (/.../node_modules/webpack-dev-server/node_modules/chokidar/lib/nodefs-handler.js:40:5)
at setFsWatchListener (/.../node_modules/webpack-dev-server/node_modules/chokidar/lib/nodefs-handler.js:81:15)
[... lines matching original stack trace ...]
at FSReqCallback.oncomplete (fs.js:192:5) {
errno: -24,
syscall: 'watch',
code: 'EMFILE',
path: '/.../public',
filename: '/.../public'
}
解决办法:
方案一:
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
然后重启
方案二:
针对vscode修改:
"files.watcherExclude": {
"**/public/**": true,
"**/.cache/**": true
}
这就是我的实际解决方案。事实证明,我的观察者排除模式有一个错误。它排除了**/node_modules/*/** instead of /node_modules/.
增加系统的fs.inotify.max_user_watches只会帮助解决此错误的症状,当更多的文件夹被添加到node_modules时,就没有任何帮助了。
参考链接:
https://github.com/gatsbyjs/gatsby/issues/11406