首页 > 解决方案 > 运行 npm start (expo) 时出错 - 错误监听 EADDRINUSE: address already in use :::19000 - 但看起来程序本身正在使用这样的端口

问题描述

我已经失去了两天的时间,试图为我的问题找到解决方案,但没有成功。我希望有人可以帮助我!

由于我昨天升级了 Expo,我无法打开运行npm start / expo start的项目。

错误是:error listen EADDRINUSE: address already in use :::19000

在此处输入图像描述

我阅读了我应该找出这个端口中运行的内容并杀死它。

所以我运行 netstat -ano -p tcp 来搜索 PID。

但是,我注意到在运行 npm start 之前,此端口未显示在列表中,如下图所示:

在此处输入图像描述

只有在运行 npm start 后才会出现。即使那样,也没有PID。

在此处输入图像描述

我怎样才能解决这个问题?

如果一方面我需要终止正在使用该端口的进程,但另一方面它看起来像编程本身正在使用该端口。

标签: react-nativeexponpm-startmetro-bundler

解决方案


由于这个问题是在升级 expo 后开始出现的,所以我按照https://blog.expo.io/expo-sdk-42-579aee2348b6中说明的升级过程进行操作。

然后,我从'expo'收到一个关于{ AppLoading }的新错误,因为现在它有自己的包,所以我安装了它,应用程序终于打开了。

尽管如此,它并没有解决我的所有问题,例如 AppLoading 现在会创建许多超时,每个超时都有大量的秒数,从而产生许多警告,例如:

长时间设置定时器,即多分钟,在 Android 上是一个性能和正确性问题,因为它使定时器模块保持唤醒状态,并且只能在应用程序处于前台时调用定时器。(看到持续时间为 418605 毫秒的 setTimeout)。

我注意到的另一个中断与图像选择器有关。

所以现在,我正在努力解决这些问题......


推荐阅读