本文介绍在Mac开发环境中遇到Node.js connect ECONNREFUSED错误时的排查与解决方法。该错误通常由未正确关闭的Node.js服务器进程占用端口引起。通过ps aux命令查找残留进程ID,并使用kill -9强制终止该进程,即可释放端口并重新启动服务。
Node.js ECONNREFUSED错误排查与解决
在开发AngularJS与Node.js演示项目期间,于Mac环境中遭遇该错误,具体表现如下:
events.js:71
throw arguments[1]; // Unhandled 'error' event
^
Error: connect ECONNREFUSED
at errnoException (net.js:770:11)
at Object.afterConnect [as oncomplete] (net.js:761:19)
经查阅StackOverflow获取解决思路,此问题主要因前一个Node.js服务器进程未正常退出所致,需终止该进程。在Mac系统中的操作步骤为:
ps aux | grep node
twer 7668 4.3 1.0 42060 10708 pts/1 Sl+ 20:36 0:00 node server
twer 7749 0.0 0.0 4384 832 pts/8 S+ 20:37 0:00 grep --color=auto node
输出结果显示PID为7668的进程正在运行,需强制终止该进程,执行命令kill -9 7668。操作完成后即可重新启动服务器。