如果你是前端开发人员,可能会遇到 Node.js 运行错误:Error: listen EADDRINUSE :::8080 的问题。这个错误是因为端口 8080 已经被占用,所以 Node.js 无法监听该端口。在本篇文章中,我们将探讨如何解决这个错误并给出相关的示例代码。
解决方法
1. 找到占用了端口 8080 的进程并杀死它
我们可以使用以下命令找到占用了端口 8080 的进程:
$ lsof -i :8080
该命令会列出所有占用了端口 8080 的进程信息。我们可以通过使用 kill 命令杀死这个进程:
$ kill <PID>
其中,<pid> 是进程的 ID。
一旦杀死了进程,我们就可以再次运行 Node.js 应用程序并监听端口 8080 了。
2. 使用另一个可用的端口
如果我们无法找到占用了端口 8080 的进程,那么我们可以选择使用另一个可用的端口。我们可以修改 Node.js 应用程序的端口设置:
app.listen(<port>, () => { console.log(`Server is running on port <port>`); });
这里,<port> 是端口号。我们可以选择使用除了 8080 以外的其他端口。
3. 等待一段时间再次尝试
有时候,端口可能会被暂时占用。在这种情况下,我们可以等待一段时间并再次尝试监听端口 8080。
4. 关闭正在运行的 Node.js 应用程序
如果我们使用的是 pm2 或者 nodemon 等进程管理工具来运行 Node.js 应用程序,那么我们需要使用相应的命令杀死该进程。例如,使用 pm2 来管理 Node.js 应用程序,我们可以使用以下命令杀死进程:
$ pm2 stop <app_name>
其中,<app_name> 是应用程序的名称。
示例代码
以下是一个简单的 Node.js 应用程序,它监听端口 8080:
-- -------------------- ---- ------- ----- ------- - ------------------- ----- --- - ---------- ------------ ----- ---- -- - --------------- --------- --- ---------------- -- -- - ------------------- -- ------- -- ---- ------- ---
如果运行该应用程序时出现错误 Error: listen EADDRINUSE :::8080,那么我们可以使用上述解决方法之一来解决该问题。
总结
以上是解决 Node.js 运行错误 Error: listen EADDRINUSE :::8080 的方法。我们可以找到占用了端口 8080 的进程并杀死它、使用另一个可用的端口、等待一段时间再次尝试或者关闭正在运行的 Node.js 应用程序。在实际开发过程中,我们需要经常注意应用程序所使用的端口,以免出现该错误。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6465f120968c7c53b069b9b5