【问题标题】:ng server - listen EACCES: permission denied 127.0.0.1:4200ng 服务器 - 监听 EACCES:权限被拒绝 127.0.0.1:4200
【发布时间】:2020-06-14 12:35:02
【问题描述】:

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

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

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

【问题讨论】:

标签: angular


【解决方案1】:

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

例如:sudo npm startsudo ng serve

【讨论】:

    【解决方案2】:

    我已经解决了这个问题,只需转到 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,如下所示:

    • 如果您想排除端口4200,请键入netsh int ipv4 add excludedportrange protocol=tcp startport=4200 numberofports=1,仅当您想要更多时,只需更新numberofports
    • 然后再次启动Windows NAT 驱动程序并运行您的应用程序。

    【讨论】:

    • 打开 CMD/PowerShell 并键入 net stop winnat 然后 net start winnat。在为这个问题浪费了这么多时间之后,这对我有用,谢谢@p90n33r
    • @Thili 很高兴,我希望这将是这个问题的最终解决方案
    • net stop winnat 并重新启动对我有用
    • 面临同样的问题。在 Windows 和 Angular 12 中重新启动 Windows NAT 对我有用。
    【解决方案3】:
    1. 检查可能已为另一个应用程序分配的端口。

    netstat -ano | findstr "4200"

    1. 如果你使用 Docker,可能 docker 分配了这个端口(停止 docker)

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

    【讨论】:

      【解决方案4】:

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

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

      【讨论】:

        【解决方案5】:

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

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

        @p90n33r 是 Hyper-V。

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

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

        无需重启。

        【讨论】:

        • 禁用 Hyper-V 适配器对我有用,但我确实需要重新启动
        【解决方案6】:

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

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

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

        【讨论】:

          【解决方案7】:

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

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

          【讨论】:

            【解决方案8】:

            听起来你的端口已经被占用了。 您应该在端口 4200 中终止使用。 你有什么操作系统?

            【讨论】:

            • 我使用的是 Windows 10,我发现 ntoskrnl.exe 正在使用该端口。有没有办法把端口换成另一个?
            • 您可以使用 ng serve --port 4211 或更改 ntoskrnl.exe 端口
            • 感谢您的帮助!我通过禁用万维网发布服务来解决它。我不确定为什么启动此服务。
            • 重启后浏览器出现空白标签,指向 4200。一旦你杀死它,问题就消失了
            • 我使用的是 Windows 10,只是重新启动了我的电脑两次(没有做任何事情)并且错误消失了。我跟着这个:superuser.com/questions/1437780/…
            猜你喜欢
            • 2020-06-07
            • 1970-01-01
            • 2021-10-30
            • 2020-10-11
            • 2022-01-09
            • 2020-06-03
            • 2014-05-11
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多