25

我使用 127.0.0.1:4200 服务没有问题。

但是今天,当我做服务时发生了一个未处理的异常:listen EACCES: permission denied 127.0.0.1:4200

有没有办法永久解决这个问题?

4

8 回答 8

64

我通过简单地解决了这个问题,Control Panel\Network and Internet\Network Connections然后我禁用了所有Hyper-V Connections/Adapters,我保留了我使用的那些,比如 Wifi 和物理以太网适配器。

无需重启。完成后,尝试在 4200 上运行您的 Angular 应用程序,它应该可以工作。

更新

替代解决方案:

有时只需重新启动Windows NAT驱动程序即可解决问题:

  • 打开 CMD/PowerShell 并键入net stop winnat然后net start winnat.

如果那没有帮助,请尝试停止Windows NAT驱动程序并更新excludedportrange,如下所示:

  • netsh int ipv4 add excludedportrange protocol=tcp startport=4200 numberofports=1如果您只想排除端口,请键入4200仅当您想要更多时才更新numberofports
  • 然后再次启动Windows NAT驱动程序并运行您的应用程序。
于 2020-10-08T11:19:01.773 回答
12

听起来你的端口已经被占用了。

您应该在端口 4200 中终止使用。

于 2020-03-02T08:47:36.477 回答
5

对我来说,发生在 Windows 10 更新构建 2009 之后。

有一个网络适配器阻塞了您的端口。

@p90n33r 是 Hyper-V。

在我使用以太网端口之前,对我来说是 Wifi 适配器。

尝试禁用任何适配器来测试它。

无需重启。

于 2020-10-27T02:03:49.407 回答
4
  1. check 端口可能已经分配给另一个应用程序。

netstat -ano | findstr "4200"

  1. 如果您使用的是 Docker,则 docker 可能会分配此端口(停止 docker)

  2. 最终解决方案重启电脑

于 2021-04-04T15:50:59.023 回答
3

这发生在我尝试同时运行 2 个 Angular 应用程序时。所以他们都瞄准了4200端口。我可以推荐两种解决方案。

  1. 重新启动电脑。很简单。
  2. 使用不同的端口ng serve -o

您可以修改 package.json 文件的开始部分ng serve -o --port 4401使其永久化。(任何端口号都可以解决问题)并在终端上执行命令以运行应用程序npm start

在此处输入图像描述

于 2020-06-21T13:26:41.817 回答
1

我也有同样的错误,重启几次后也是如此。没有应用程序使用该端口。最后是关闭“Azure VPN”的脑电波,我们在本地使用它来连接到我们的云网络。

因此,如果其他人遇到此错误:关闭“Azure VPN”并查看是否是问题所在。我不知道如何解决它保持它。

于 2020-06-15T15:08:11.287 回答
0

对我来说是 Microsoft Wi-Fi Direct Virtual,它通过“屏幕镜像和投影到您的 PC”设置启用。

只需将“始终可用”设置为“始终关闭”即可修复它。

于 2020-12-22T01:17:00.520 回答
-1

如果您在 Mac 机器上看到此类错误,请尝试使用提升的访问权限运行您的命令。
这可以通过sudo在您的命令之前添加来完成。

例如:sudo npm startsudo ng serve等。

于 2021-07-13T16:30:56.027 回答