节点8突然出现EADDRINUSE错误

时间:2018-07-31 22:25:28

标签: node.js

我正在Windows 10本地使用节点8.11.1和角度6。在节点app.js中,我拥有

//SERVER LISTEN
app.listen(3000, ()=>{
  console.log('Server running on port 3000');
});

在底部,我使用nodemon运行我的节点。

我最近没有安装任何程序,并且节点/角度工作正常。

我对节点中的查询代码进行了一些编辑,进行了一些次要编辑,然后将一些文件复制到了外部驱动器。我没有删除文件,而是将它们复制了,所以它们也仍在笔记本电脑上,我可以看到它们。这些是我记得的最后一步。

但是,我做nodemon,现在我得到了

events.js:183
      throw er; // Unhandled 'error' event
      ^

Error: listen EADDRINUSE :::3000

发生了什么事?有解释吗?如何使节点再次在端口3000上运行?谢谢

2 个答案:

答案 0 :(得分:3)

确保没有其他应用程序正在使用port 3000。 尝试指定其他端口ID

当端口已在使用中并且您的应用程序试图在同一端口上运行时,通常会发生此错误,

    //SERVER LISTEN
app.listen(3001, ()=>{
  console.log('Server running on port 3001');
});

答案 1 :(得分:1)

尝试查找该端口上正在运行的内容。您可以在线搜索如何查找Windows系统上正在运行的内容。这里的post可以提供帮助。实际上,我使用了从本文中获得的以下命令,它清楚地向我显示了该端口上正在运行的命令。

for /f "tokens=5" %a in ('netstat -aon ^| findstr <port>') do tasklist /FI "PID eq %a"

从那里获取PID,然后您可以使用下一条命令终止该进程。希望这会有所帮助。

Taskkill /PID <pid> /F