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

为何服务器无法使用Express?Node.js v6.3.1环境报错问题

解决Express启动报错EADDRINUSE :::3000的问题

这个错误逻辑很清晰——你要用来启动Express服务的3000端口已经被其他进程占用了,导致Express无法绑定该端口启动服务。下面给你几种实用的解决办法:

方法一:更换监听端口

这是最快速的解决方式,直接换一个未被占用的端口即可:

  • 直接修改代码里的端口号,比如把3000改成3001:
    const express = require('express')
    const app = express()
    app.get('/', (req, res) => res.send('Hello World!'))
    app.listen(3001, () => console.log('Example app listening on port 3001!'))
    
  • 或者用环境变量动态指定端口,这样不用每次修改代码:
    调整代码为:
    const express = require('express')
    const app = express()
    const port = process.env.PORT || 3000; // 优先读取环境变量的端口,没有则默认用3000
    app.get('/', (req, res) => res.send('Hello World!'))
    app.listen(port, () => console.log(`Example app listening on port ${port}!`))
    
    启动时通过环境变量指定端口:
    PORT=3001 node app.js
    

方法二:杀掉占用3000端口的进程

如果你一定要用3000端口,可以定位并终止占用它的进程:

Windows系统

  1. 打开命令提示符,执行以下命令找到占用端口的进程PID:
    netstat -ano | findstr :3000
    
  2. 找到输出最后一列的PID数字,执行以下命令强制杀掉进程:
    taskkill /PID <你的PID数字> /F
    
    比如PID是1234,就执行taskkill /PID 1234 /F

macOS/Linux系统

  1. 在终端执行以下命令找到占用端口的进程PID:
    lsof -i :3000
    
  2. 用以下命令杀掉进程(替换成你找到的PID):
    kill -9 <你的PID数字>
    
    如果提示权限不足,加上sudo提升权限:
    sudo kill -9 <你的PID数字>
    

额外提示

你的Node.js版本是v6.3.1,这个版本已经非常老旧了,很多现代npm包(包括后续可能升级的Express版本)都不再支持该版本,长期使用可能会遇到各种兼容性问题,建议后续考虑升级到稳定的LTS版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:49:09