Uptime启动出错解决办法
这里就当是分享一下这个错误吧。 我装的是最新版本的Node,v0.10.3。
在启动Uptime的时候会有下面的错误:
/foo/uptime/node_modules/mongoose/lib/utils.js:437
throw err;
^
Error: Can't set headers after they are sent.
at ServerResponse.OutgoingMessage.setHeader (http.js:650:11)
at ServerResponse.res.setHeader (/foo/uptime/node_modules/express/node_modules/connect/lib/patch.js:59:22)
at ServerResponse.res.set.res.header (/foo/uptime/node_modules/express/lib/response.js:475:10)
at ServerResponse.res.json (/foo/uptime/node_modules/express/lib/response.js:194:8)
at Promise. (/foo/uptime/app/api/routes/check.js:36:11)
at Promise. (/foo/uptime/node_modules/mongoose/lib/promise.js:128:8)
at Promise.EventEmitter.emit (events.js:93:17)
at Promise.emit (/foo/uptime/node_modules/mongoose/lib/promise.js:66:38)
at Promise.complete (/foo/uptime/node_modules/mongoose/lib/promise.js:77:20)
at Promise.resolve (/foo/uptime/node_modules/mongoose/lib/promise.js:144:15)
总之就是挺单疼的,之后我是在Issue里面找到的解决办法:package.json里面的依赖包版本与最新的node不兼容。对于依赖包也装新版本就好了。有个简单的办法就是跑package.json里面改一下几个东西,把express
所对应的版本号改成3.1.0
,然后把socket.io
的版本号改成0.9.13
就行了。
然后删除你的node_modules
再重新执行一遍npm install
即可。