【发布时间】:2017-01-12 07:44:22
【问题描述】:
我已经使用 node.js 项目工作了几个星期,它一直运行良好。通常,我使用npm start 来运行我的应用程序并在本地主机上的浏览器中查看它,端口为 3000。
今天,我在使用 npm start 时开始出现以下错误:
Server started on port 3000
Port 3000 is already in use
我检查了资源监视器,但在端口 3000 上没有运行其他进程。为什么会收到此错误消息?
在我的 app.js 中,我有以下代码来设置端口...这不正确吗?它以前工作得很好,所以我不确定我做错了什么。
// Set Port
app.set('port', (process.env.PORT || 3000));
app.listen(app.get('port'), function() {
console.log('Server started on port '+app.get('port'));
});
感谢您的帮助!
编辑:
我尝试运行 netstat 和 TCPView 来检查哪个进程正在使用该端口,但没有使用该端口。我也尝试重新启动我的笔记本电脑,但我仍然得到同样的错误。
【问题讨论】:
-
有另一个进程在使用这个端口,这是肯定的。您要尝试哪个操作系统?您可以在 google 上搜索“查找哪个 prosess 使用您的操作系统的端口”
-
网站图标将被缓存。您也可以在命令提示符下尝试
netstat,或者使用等效的 telnet 连接到 localhost:3000 - 例如 PuTTY。 -
我注意到您收到“端口 3000 已在使用中”“服务器在端口 3000 上启动” - 是您的应用程序中的某些内容试图在同一端口上再次开始侦听?
-
我的猜测是,您的应用程序中有两个
app.listen()语句,另一个.listen()也试图在该端口上启动服务器。第一个有效,第二个报告错误。在您的代码中搜索.listen。
标签: javascript node.js npm port