React Native项目,有时使用expo start获得“ connect ECONNREFUSED 127.0.0.1:19001”

时间:2019-01-08 22:55:29

标签: react-native expo

我正在使用expo cli 2.6.14,本机反应为0.57.1​​,expo sdk 31.0.0。为了启动在Expo应用程序上运行的项目,我使用expo start。有时它会起作用,有时会出现错误,我也不知道为什么。如果我只是一遍又一遍地继续运行expo,最终它会起作用,但这会浪费很多时间。

这是我得到的错误:

Could not get status from Metro bundler. connect ECONNREFUSED 127.0.0.1:19001
Connecting to Metro bundler failed.
Set EXPO_DEBUG=true in your env to view the stack trace.
error Command failed with exit code 1.

我不确定为什么会这样。我一直没有理会它,因为它并不会一直发生,但是它已经成为一个麻烦。对这个问题有什么想法?

编辑:这是一个known issue,但尚未修复。

16 个答案:

答案 0 :(得分:6)

I faced this issue too, here is what I did finally:

First try to use "expo start -c" to clear the cache when launching, this is the option that works every time.

Try to delete your .expo folder if it doesn't work and retry.

答案 1 :(得分:5)

尝试从项目根目录中删除.expo目录。

答案 2 :(得分:1)

无论出于何种原因,这对我来说几乎都是100%的解决方案。

  • expo start
  • Ctrl + C
  • expo start

答案 3 :(得分:1)

首先您必须开始博览会

博览会开始  在构建项目之后

展览发布

使用这两个命令对我有用。

答案 4 :(得分:1)

我最近在react-native中创建了一个应用,我使用命令“ expo build-android”来创建Android APK。它在大多数时候甚至对我都有效,但并非总是如此,所以我使用的解决方案是对别人有帮助)-

  1. 运行命令“ npm install -g expo-cli”会引发错误-“无法识别内部和外部命令为expo”
  2. 搜索“环境变量”(按Windows键在Windows操作系统上进行搜索),然后向系统变量“ C:\ Users \ test \ AppData \ Roaming \ npm”添加新路径,您可能会在以下位置使用其他文件夹“测试”,请在此处使用。
  3. 运行“ npm install -g expo-cli”,它应该可以正常工作。
  4. 如果仍然出现相同的错误,请运行“ expo build:android”,然后在命令提示符下运行3个命令(现在转到项目路径,然后依次运行这3个命令)步骤1:expo启动步骤2: ctrl + c(停止)步骤3:expo build:android 对于这种方法为什么起作用,以及如何起作用,我尚不清楚。

答案 5 :(得分:0)

此外,检查哪些应用程序正在使用哪些19xxx端口。您可以通过从一个终端运行'expo start -c'并从另一个终端运行'netstat'和'lsof'命令来做到这一点。如果其他进程使用19xxx端口中的任何一个,则可以杀死它们。

HTH,

答案 6 :(得分:0)

我遇到了同样的错误。我通过删除项目根目录中的.expo文件夹来解决该问题

答案 7 :(得分:0)

具体情况,但是我发现在后台运行的Laravel Valet导致我始终遇到ECONNREFUSED 127.0.0.1:19001错误。

valet stop之前运行expo start似乎可以解决问题。

答案 8 :(得分:0)

对我来说,我按照以下步骤操作

  1. expo start

  2. ctrl + c

3。delete .expo folder from your project

  1. expo build:android -c

答案 9 :(得分:0)

打开一个新终端。
输入ipconfig,您将获得IP4地址,例如:192.168 .........
复制该地址并运行:
set REACT_NATIVE_PACKAGER_HOSTNAME=(paste you ip4 address here)
现在运行:expo start
打开拆分终端并运行:expo build:android

快乐编码:)

答案 10 :(得分:0)

按照expo documentation

的建议删除.expo文件夹

对我来说做得很好。

答案 11 :(得分:0)

在项目文件夹中运行#rm -rf .expo

答案 12 :(得分:0)

添加一些其他信息...

就像其他人所说的那样,我尝试先做expo start然后做ctrl + c。起初似乎可以正常工作,但是后来我的构建失败了

EPERM: operation not permitted, rename 'mypath\.expo\packager-info.json.1807243929' -> 'mypath\.expo\packager-info.json'

因此,我像其他人一样删除了.expo,然后我的构建成功了。

答案 13 :(得分:0)

只需从项目的根目录控制器中删除.expo文件 y,然后运行命令 请勿触摸.expo共享文件

expo android:build

答案 14 :(得分:0)

以我为例,当我关闭另一个进程时。

确保您没有在同一端口上运行另一个进程,这对我有用。

答案 15 :(得分:0)

解决此类问题的另一种方法是找出正在使用相关端口的内容。

在 Windows 上试试

netstat -o -n -a | findstr 127.0.0.1:19001

在最后一列,它会显示一个 PID 代码,写下来。

按 Windows + R 并输入

taskmgr

任务管理器会打开,到服务区找你之前写的PID,找到就结束流程。

然后尝试运行构建。