You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Express应用启动崩溃:端口3000已被占用问题求助

解决Express应用启动崩溃问题

一、核心崩溃原因:端口3000被占用

错误日志里的EADDRINUSE: address already in use :::3000明确说明端口3000已被其他进程占用,导致Express无法监听该端口。以下是三种解决方法:

  • 杀掉占用端口的进程

    • Windows系统:
      1. 打开命令提示符,执行命令查找占用3000端口的进程PID:
        netstat -ano | findstr :3000
        
      2. 用找到的PID强制终止进程:
        taskkill /PID <你的PID> /F
        
    • macOS/Linux系统:
      直接执行命令一键杀掉占用3000端口的进程:
      lsof -ti:3000 | xargs kill -9
      
  • 修改监听端口
    把代码里的监听端口从3000改成其他未被占用的端口,比如3001:

    app.listen(3001, () => {
      console.log("App is loading on Port no 3001!");
    });
    
  • 让Express自动选择可用端口
    如果不想手动指定端口,可以让系统自动分配可用端口,代码修改为:

    app.listen(0, () => {
      console.log(`App is loading on Port no ${app.address().port}!`);
    });
    

二、修复代码中的潜在问题

你的Express代码还有两个小问题,虽然不是这次崩溃的原因,但会导致后续请求出错:

  1. 路由回调参数顺序颠倒
    app.get的回调函数参数顺序应该是(req, res)(请求对象在前,响应对象在后),你写反成了(res, req),修正后:

    app.get('/', (req, res) => {
      res.send("Hello Rushikesh! ");
    });
    
  2. 拼写错误
    启动日志里的lodding是拼写错误,应该改为loading,避免日志误导。

内容的提问来源于stack exchange,提问作者Rushikesh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 23:22:43