【问题标题】:Metro Bundler failed to start. (code: EACCES)Metro Bundler 无法启动。 (代码:EACCES)
【发布时间】:2018-06-18 10:01:57
【问题描述】:

我正在运行 ubuntu 18.04

我在尝试使用 exp start 启动我的 expo 服务器时遇到了这个问题(我也尝试过 exp start -cexp start -c --tunnelexp start --tunnel)。

我明白了:

felix:~/job/App (dev) $ exp start
[11:50:59] Using project at /home/felix/job/App
[11:51:08] Scanning folders for symlinks in /home/felix/job/App/node_modules (8ms)
[11:51:08] Starting Metro Bundler on port 19001.
[11:51:08] Metro Bundler ready.
[11:51:08] Successfully ran `adb reverse`. Localhost urls should work on the connected Android device.
[11:51:10] Tunnel ready.
[11:51:10] Expo is ready.

[11:51:10] Your URL is: exp432e0186c47243658eeef37602b6c1c4://10.114.17.163:19000
[11:51:10] Logs for your project will appear below. Press Ctrl+C to exit.
[11:51:15] Metro Bundler failed to start. (code: EACCES)

我尝试过重新安装 expo、node 模块、metro。我已经删除了我的 .expo 文件,以便可以重新生成它。

我(我认为)对我的所有文件都有正确的权限。我在我的主目录中拥有 repo,我不知道 expo 是否在我的根目录中创建任何文件。

也许有一种方法可以准确检查 Metro bundler 失败并引发错误的位置?

值得注意的是,如果我使用create-react-native-app 创建一个新应用程序并使用exp start 启动服务器,那么它就可以工作了!!所以我的这个回购似乎有问题?使用相同操作系统的其他人只需克隆 repo 并以 exp start 开头即可使其工作。

【问题讨论】:

    标签: react-native expo create-react-native-app


    【解决方案1】:

    sudo exp start 过去已经为我解决了这个问题。 EACCES 通常与基于权限的错误有关

    【讨论】:

      【解决方案2】:

      我解决了。问题是 Metro bundler(构建 js 文件的程序)无法连接到我的 android 模拟器。这是因为模拟器是由 root 用户创建的,因此 Metro bundler 没有正确的权限,因此它抛出了 EACCES 错误。

      我所做的是在我的用户许可下创建一个新的 android 模拟器,然后它工作了。

      【讨论】:

        【解决方案3】:

        您同样可以以管理员身份运行命令提示符并执行

        net stop http
        

        然后执行

        net start http
        

        重新启动所有端口以确保其不是连接问题

        【讨论】:

          【解决方案4】:

          你可以运行:

          sudo expo start --tunnel 
          

          【讨论】:

          • Expo DevTools 正在localhost:19002 运行 在浏览器中打开 DevTools...(按 shift-d 禁用)无法从 Metro 捆绑器获取状态。连接 ECONNREFUSED 127.0.0.1:19003 连接到 Metro 捆绑器失败。错误:连接到 Metro 捆绑器失败。在 _waitForRunningAsync (/@expo/xdl@57.9.1/src/Project.ts:1544:11) 在 process._tickCallback (internal/process/next_tick.js:68:7) 你得到错误类型
          猜你喜欢
          • 2021-02-26
          • 2023-01-27
          • 2020-03-15
          • 2020-06-23
          • 1970-01-01
          • 2019-03-16
          • 2022-08-14
          • 2020-03-04
          相关资源
          最近更新 更多