当我尝试用yarn dev
启动下一个js服务器时,它会抛出这个错误。我需要重新启动整个系统才能让它工作。我在Windows上运行它。这需要很长时间。
Error: listen EACCES: permission denied 0.0.0.0:3000
at Server.setupListenHandle [as _listen2] (net.js:1301:21)
at listenInCluster (net.js:1366:12)
at doListen (net.js:1503:7)
at processTicksAndRejections (internal/process/task_queues.js:81:21) {
code: 'EACCES',
errno: -4092,
syscall: 'listen',
address: '0.0.0.0',
port: 3000
}
6条答案
按热度按时间zzoitvuj1#
运行此.bat文件
ahy6op9u2#
对很多人来说,windows上的“解决方案”似乎是禁用虚拟以太网适配器(特别是当你使用docker时)。也可能是另一个程序正在使用同一个端口,您可以通过使用
netstat -a
找到它。我禁用所有未使用的vEthernet适配器并重新启动。在某种程度上,它又神奇地起作用了。设置可以在这里找到:控制面板>网络和Internet >网络连接
来源:https://github.com/BrowserSync/browser-sync/issues/1705#issuecomment-508846475
(老实说,这是我很长一段时间以来遇到的最烦人的bug,也是我切换到Linux的原因)
xesrikrc3#
我不确定这是不是同一个问题,但我的错误是:
this修复了它:
Restarting the service "Host Network Service"
bvn4nwqk4#
对我来说,在那个端口上运行的是Grafana。只要打开http://localhost:3000,也许你会发现那里正在运行什么,然后在 * 服务 *(Windows)处停止它。
bq8i3lrv5#
在我的情况下,错误发生是因为使用的端口属于Hyper-V的保留端口。
当我重新启动计算机时,这个端口范围会发生变化,所以有时我会得到错误,有时我不会。
当我正在构建多个Nextjs应用程序时,突然我无法启动其中一个。我试图提升CMD到管理员,但访问被拒绝错误,甚至试图找到与端口相关的进程,但没有。
我尝试了多个端口,如3001,3002,3006,3009等,但没有工作。
错误如下:启动Nextjs应用程序时出错,EACCES null:3001
为了检查Windows保留的端口,您可以使用cmd/powershell:
netsh interface ipv4 show excludedportrange protocol=tcp
该问题描述如下:https://github.com/microsoft/WSL/issues/5514
一般工作流程(在注解554587817中):https://github.com/docker/for-win/issues/3171#issuecomment-554587817
**快速解决方法:**选择不属于保留范围的端口
npm run dev -- -p 4000
或
通过编辑dev在json包文件的scripts部分添加端口说明符,如下所示:
"dev": "next dev -p 4000"
现在它起作用了:
这在post here中也有提到。
ws51t4hk6#
EACESS
只在你没有访问你想使用的端口的权限时抛出,不像Linux,windows可能有更多需要管理权限的端口,3000可能只是其中之一,即使它没有被使用,所以增加你的端口号一点点,再加一个零。正如另一位用户所提到的-最多
3016
用于管理目的,因此您可以使用它们,您可以使用的3000
附近的第一个地址是3017