Windows 10下Node.js启动Express服务提示端口权限被拒
Express.js启动EACCES权限报错解决方案
报错核心原因是当前Node.js进程没有权限绑定指定端口,你更换端口后问题仍未解决,可按以下步骤依次排查:
- 【优先尝试】使用管理员权限运行终端
右键点击你使用的CMD、PowerShell或VSCode内置终端的程序图标,选择「以管理员身份运行」,再重新执行服务启动命令即可。Windows普通用户权限默认会限制端口绑定操作,管理员权限可以规避大部分权限拦截问题。 - 检查端口是否被系统保留或占用
- 执行命令
netsh interface ipv4 show excludedportrange protocol=tcp查看系统TCP端口排除范围,如果你使用的端口在该范围内,请更换为范围外的端口(推荐使用3000、8000、8080这类常用开发端口) - 执行命令
netstat -ano | findstr "目标端口号"查看端口是否被其他进程占用,若存在占用记录,复制最后一列的PID值,执行taskkill /PID 对应PID值 /F强制结束占用进程后再重启服务。
- 执行命令
- 修改监听地址
若仅本地开发使用,可将代码中的监听地址从0.0.0.0改为127.0.0.1,示例代码如下:
该操作可以跳过外部访问的权限校验,不影响本地开发调试。// 修改前 app.listen(8090, '0.0.0.0', () => {}) // 修改后 app.listen(8090, '127.0.0.1', () => {}) - 检查安全软件拦截
临时关闭Windows Defender防火墙、第三方杀毒软件后再尝试启动服务,若启动成功,将Node.js进程添加到对应安全软件的白名单即可。
内容的提问来源于stack exchange,提问作者Selcuk
相关产品推荐
相关产品推荐

