错误:MacOSX上的Meteor应用程序未知

时间:2015-11-09 19:01:51

标签: meteor future

当我运行位于/ 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"但它没有用。解决这个问题的任何方法。

3 个答案:

答案 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