Uptime启动出错解决办法
发布于 12 年前 作者 XadillaX 2824 次浏览 最后一次编辑是 8 年前

这里就当是分享一下这个错误吧。 我装的是最新版本的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即可。

回到顶部