npm 说端口已经在,即使你改变了端口

npm says port is allready in even if you change the port

最近我开始使用 React Native,我不想使用 Android Studio,所以我手动安装了所有东西,包括 hyper-v 但之后我遇到了一个非常奇怪的问题,如果当我 运行 npm start 它说端口正在使用中时,我将任何端口放入 .env 文件!

另一个问题是当我使用 JetBrains 的产品(如 WebStorm)时它无法启动。我在日志文件中找到了这个:

java.net.BindException: Address already in use: bind

最奇怪的是端口没有被使用!

所以一周后我找到了解决方案。

答案很简单这是hyper-vwsl2的问题,我不知道为什么会导致这个问题。

我使用两个命令解决了我的问题(我使用的是 Windows 10):

net stop winnat

net start winnat

希望这能解决您的问题!

编辑: 即使在通过命令重置保留端口后,在完全重启后,您仍需要再次 运行 命令。 这是因为 windows sandbox。它将 re-reserve 端口。 因此,要完全解决问题,您需要在 windows features 中关闭 windows sandbox,这将完全解决问题