当我运行位于/ path / to / app中的meteor应用程序时,它会正确构建并启动,但在大约45秒到1分钟后,它将始终崩溃并出现错误,如
=> Started proxy.
=> Started MongoDB.
=> Started your app.
=> App running at: http://localhost:3000/
/Users/alex/.meteor/packages/meteor-tool/.1.1.10.1j76dru++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/fibers/future.js:278
throw(ex);
^
Error: UNKNOWN, readdir '/path/to/node_modules/sjcl/jsdoc_toolkit-2.3.3-beta/app/test'
at Object.Future.wait (/Users/alex/.meteor/packages/meteor-tool/.1.1.10.1j76dru++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/fibers/future.js:398:15)
at /tools/fs/files.js:1331:28
at Object.wrapper (/tools/fs/files.js:1334:20)
at readDirectory (/tools/fs/watch.js:265:26)
at Watcher._fireIfDirectoryChanged (/tools/fs/watch.js:409:23)
at /tools/fs/watch.js:670:12
at Array.forEach (native)
at Function._.each._.forEach (/Users/alex/.meteor/packages/meteor-tool/.1.1.10.1j76dru++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/underscore/underscore.js:79:11)
at Watcher._checkDirectories (/tools/fs/watch.js:659:7)
at new Watcher (/tools/fs/watch.js:356:10)
at [object Object]._.extend._runOnce (/tools/runners/run-app.js:746:23)
at [object Object]._.extend._fiber (/tools/runners/run-app.js:858:28)
at /tools/runners/run-app.js:396:12
- - - - -
让我说我尝试重现这个错误几次,我将永远在future.js:278和#398:15的Object.Future.wait看到同样的错误,但是&#的目录39;尝试通过readdir读取的将是一些不同的node_modules包。我拥有该项目的所有权限。
可能有用的是要知道在此问题之前我遇到了太多文件打开的问题(EMFILE错误)并且我将此行添加到我的bashrc文件中以增加进程可以打开的文件数
sudo launchctl limit maxfiles 16384 16384 && ulimit -n 16384
摆脱了EMFILE错误,但现在我已经遇到了这个未知错误。
另外,我试图在这里解决问题
https://github.com/meteor/meteor/issues/4660
使用" sudo purge"但它没有用。解决这个问题的任何方法。
答案 0 :(得分:1)
找到并杀死任何其他正在运行的Meteor实例似乎为我解决了这个问题:
ps -x | grep meteor
# find [pid] of meteor instance
kill [pid]
答案 1 :(得分:1)
运行sudo purge
。如果它不起作用,重新启动mac,然后再次运行meteor。它对我有用。
答案 2 :(得分:0)
我发现提高maxfiles
限制的方式可以解决问题。
例如:
sudo launchctl limit maxfiles 100000 100000