Node.js 始终使用端口3000(即使我用Port=XYZ覆盖它)

Node.js 始终使用端口3000(即使我用Port=XYZ覆盖它),node.js,reactjs,windows,react-app-rewired,Node.js,Reactjs,Windows,React App Rewired,我有一个用React编写的WEB应用程序,每当我尝试使用React app rewired start运行它时,它都会抱怨端口XYZ上已经有东西在运行 我已经用netstat-a-b检查了是否有进程正在侦听端口XYZ,但没有。此外,如果我将端口XYZ更改为任何4位值(使用环境变量port=3001),我总是会遇到相同的问题,即端口已被占用,因此我得出的结论是端口未被占用,但下面发生了一些事情。我在安装了节点12的Windows 10上运行(我尝试降级到节点10,因为我认为这在较低的节点版本上适用

我有一个用React编写的WEB应用程序,每当我尝试使用
React app rewired start
运行它时,它都会抱怨
端口XYZ上已经有东西在运行

我已经用
netstat-a-b
检查了是否有进程正在侦听端口XYZ,但没有。此外,如果我将端口XYZ更改为任何4位值(使用环境变量
port=3001
),我总是会遇到相同的问题,即端口已被占用,因此我得出的结论是端口未被占用,但下面发生了一些事情。我在安装了节点12的Windows 10上运行(我尝试降级到节点10,因为我认为这在较低的节点版本上适用,但我无法让它继续工作)

我在网上搜索过,大多数人建议检查一下港口是否被占用,我发现的其他一些建议如下,但不适用于我:

  • 检查端口未被占用/更改端口
  • 反应脚本降级为
    ^2.1.8
  • 检查我的应用程序(.listen())中是否有多个侦听器
是否有人遇到过类似的问题并能够解决这些问题?

尝试:

taskkill /im node.exe
如果进程仍然存在,可以通过添加/f标志来强制终止进程:

taskkill /f /im node.exe

原来是Hyper-V占用了所有端口…禁用Hyper-V后,我能够在端口3000上运行节点应用程序

此问题的解决方法是在Hyper-V关闭时保留端口:

  • 禁用hyper-v(需要几次重新启动)
  • dism.exe/联机/禁用功能:Microsoft-Hyper-V

  • 完成所有必需的重新启动后,保留所需的端口,以便hyper-v不会将其保留回去
  • netsh int ipv4 add excludedportrange协议=tcp startport=3000 numberofport=1

  • 重新启用hyper-V(需要重新启动几次)
  • dism.exe/Online/Enable功能:Microsoft-Hyper-V/All

    参考资料:


    我现在已经尝试了:
    $taskkill/f/im node.exe错误:找不到进程“node.exe”启动WEB应用程序时,我仍然得到
    端口3000上已经有东西在运行。