Nac*_*eja 25 node.js windows-subsystem-for-linux npm
有没有人用 node 经历过这样的事情:
我正在运行Angular,我的 Windows 崩溃并重新启动,现在当我尝试时,ng serve我得到:
Error: listen EACCES: permission denied 127.0.0.1:4200
at Server.setupListenHandle [as _listen2] (net.js:1253:19)
at listenInCluster (net.js:1318:12)
at GetAddrInfoReqWrap.doListen [as callback] (net.js:1451:7)
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:61:10)
Run Code Online (Sandbox Code Playgroud)
我也试过 ng serve --port 4201
结果一样。
注意:在Windows重新启动之前,我在WSL. 之后,我尝试WSL和Powershell。
更新:它甚至发生在一个新项目中。
Nac*_*eja 22
一次 Windows 重新启动是不够的,我重新启动了两次,问题就消失了。
对不起,我没有更多的技术。
除了: 1:尽量不要从 Windows 文件夹在 WSL 上进行开发。
fam*_*osi 22
在我的情况下,出现错误是因为使用的端口属于 Hyper-V 的保留端口。
当我重新启动计算机时,此端口范围会发生变化,因此有时会出现错误,有时不会。
要通过 Windows 检查保留端口,您可以使用(cmd/powershell):
netsh interface ipv4 show excludedportrange protocol=tcp
Run Code Online (Sandbox Code Playgroud)
该问题描述于:https : //github.com/microsoft/WSL/issues/5514
一般解决方法(在评论 554587817 中):https : //github.com/docker/for-win/issues/3171#issuecomment-554587817
快速解决方法:选择一个不属于保留范围的端口
小智 14
感谢 @fambrosi 找到该线程和https://github.com/docker/for-win/issues/3171#issuecomment-788808021。这是解决这个恼人问题的命令。
net stop winnat
netsh int ipv4 set dynamic tcp start=49152 num=16384
netsh int ipv6 set dynamic tcp start=49152 num=16384
net start winnat
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
59160 次 |
| 最近记录: |