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-v
和wsl2
的问题,我不知道为什么会导致这个问题。
我使用两个命令解决了我的问题(我使用的是 Windows 10):
net stop winnat
net start winnat
希望这能解决您的问题!
编辑:
即使在通过命令重置保留端口后,在完全重启后,您仍需要再次 运行 命令。
这是因为 windows sandbox
。它将 re-reserve 端口。
因此,要完全解决问题,您需要在 windows features
中关闭 windows sandbox
,这将完全解决问题
最近我开始使用 React Native,我不想使用 Android Studio,所以我手动安装了所有东西,包括 hyper-v
但之后我遇到了一个非常奇怪的问题,如果当我 运行 npm start
它说端口正在使用中时,我将任何端口放入 .env
文件!
另一个问题是当我使用 JetBrains 的产品(如 WebStorm)时它无法启动。我在日志文件中找到了这个:
java.net.BindException: Address already in use: bind
最奇怪的是端口没有被使用!
所以一周后我找到了解决方案。
答案很简单这是hyper-v
和wsl2
的问题,我不知道为什么会导致这个问题。
我使用两个命令解决了我的问题(我使用的是 Windows 10):
net stop winnat
net start winnat
希望这能解决您的问题!
编辑:
即使在通过命令重置保留端口后,在完全重启后,您仍需要再次 运行 命令。
这是因为 windows sandbox
。它将 re-reserve 端口。
因此,要完全解决问题,您需要在 windows features
中关闭 windows sandbox
,这将完全解决问题