【发布时间】:2016-08-12 08:00:05
【问题描述】:
Meteor 应用程序每两到三分钟崩溃一次,并出现此错误:
TypeError: Error.captureStackTrace is not a function
at Error.MongoError (/Users/alex/.meteor/packages/npm-mongo/.1.5.45.1i7w6an++os+web.browser+web.cordova/npm/node_modules/mongodb-core/lib/error.js:13:9)
at Function.MongoError.create (/Users/alex/.meteor/packages/npm-mongo/.1.5.45.1i7w6an++os+web.browser+web.cordova/npm/node_modules/mongodb-core/lib/error.js:29:11)
at Socket.<anonymous> (/Users/alex/.meteor/packages/npm-mongo/.1.5.45.1i7w6an++os+web.browser+web.cordova/npm/node_modules/mongodb-core/lib/connection/connection.js:161:20)
at Socket.g (events.js:260:16)
at emitNone (events.js:67:13)
at Socket.emit (events.js:166:7)
at Socket._onTimeout (net.js:332:8)
at _runOnTimeout (timers.js:524:11)
at _makeTimerTimeout (timers.js:515:3)
at Timer.unrefTimeout (timers.js:584:5)
这是在我将项目更新到 Meteor 1.4 之后开始的。 Meteor 是否在后台做某事?如何调试它以了解发生了什么?
其他细节:我正在使用 React、react-router 和 reactrouter:react-router-ssr。所以有服务器端渲染。也许这会触发一些事情......
伙计们。我看到的最重要的细节是:
Error.captureStackTrace is not a function
这是一个核心节点功能!如果我运行节点并输入Error,我会看到函数:captureStackTrace: [Function: captureStackTrace]。所以这个问题看起来像 Meteor 可能正在运行一个旧版本的节点,它在 Error 中没有 captureStackTrace 呢?嗯,我按照here的说明检查了版本:
MonsterMac:/ alex$ cd ~/.meteor/packages/meteor-tool/1.4.0-1/mt-os.osx.x86_64/dev_bundle/bin/
MonsterMac:bin alex$ ./node -v
v4.4.7
根据Change log captureStackTrace 在版本 4.4.7 中有。现在呢?
【问题讨论】:
-
真正的错误来自 Mongo 连接超时错误。你是在使用 Meteor 的本地 Mongo 实例还是连接到不同的 Mongo 服务器?
-
我正在使用本地 mongo 实例。
-
运行
meteor node -v时看到了什么? -
meteor --version是什么? -
@KingJulian 你有没有发现它是什么?我仍然遇到此错误。