反应本机调试器:“错误:ENOENT:没有这样的文件或目录”

Posted

技术标签:

【中文标题】反应本机调试器:“错误:ENOENT:没有这样的文件或目录”【英文标题】:React native debugger: "Error: ENOENT: no such file or directory" 【发布时间】:2021-11-22 00:11:07 【问题描述】:

问题:当我运行远程调试器时,metro 服务器说它找不到这个文件。

Error: ENOENT: no such file or directory, open '/home/hery/Workspace/NyTiona/http:/localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.nytiona&modulesOnly=false&runModule=true'
    at Object.openSync (fs.js:498:3)
    at Object.readFileSync (fs.js:394:35)
    at getCodeFrame (/home/hery/Workspace/NyTiona/node_modules/metro/src/Server.js:919:18)
    at Server._symbolicate (/home/hery/Workspace/NyTiona/node_modules/metro/src/Server.js:992:22)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)
    at async Server._processRequest (/home/hery/Workspace/NyTiona/node_modules/metro/src/Server.js:403:7) 
  errno: -2,
  syscall: 'open',
  code: 'ENOENT',
  path: '/home/hery/Workspace/NyTiona/http:/localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.nytiona&modulesOnly=false&runModule=true'

注意:无论我使用的是 USB 还是 Wi-Fi,都会出现此错误。

信息:我的反应原生信息

    System:
    OS: Linux 5.4 Ubuntu 20.04.3 LTS (Focal Fossa)
    CPU: (4) x64 Intel(R) Core(TM) i5-4200U CPU @ 1.60GHz
    Memory: 1.51 GB / 7.49 GB
    Shell: 5.0.17 - /bin/bash
  Binaries:
    Node: 14.17.2 - /usr/local/bin/node
    Yarn: Not Found
    npm: 6.14.13 - /usr/local/bin/npm
    Watchman: 4.9.0 - /usr/bin/watchman
  SDKs:
    Android SDK:
      API Levels: 30
      Build Tools: 30.0.2, 30.0.3, 31.0.0
      System Images: android-30 | Google APIs Intel x86 Atom
      Android NDK: Not Found
  IDEs:
    Android Studio: 4.2 AI-202.7660.26.42.7486908
  Languages:
    Java: 1.8.0_292 - /usr/bin/javac
  npmPackages:
    @react-native-community/cli: Not Found
    react: 17.0.2 => 17.0.2 
    react-native: 0.65.1 => 0.65.1 
  npmGlobalPackages:
    *react-native*: Not Found

谢谢????

【问题讨论】:

【参考方案1】:

我遇到了同样的问题,只是做了,

npm start -- --reset-cache

解决了我的问题。

【讨论】:

我测试了,但仍然出现错误 您是否尝试过删除您的node_modules 并在此之后再次运行npm install 还不行。我认为错误是由于这个带有绝对路径的 url。 /home/hery/Workspace/NyTiona/http:/localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.nytiona&modulesOnly=false&runModule=true -- 因为 -- http:/localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.nytiona&modulesOnly=false&runModule=true 如果我在浏览器上查找它确实存在 如果有一个 Metro 服务器与另一个项目一起打开,这可能是一个错误。尝试关闭 Metro 服务器选项卡并再次运行。 @DonBranson 暂时没有。真的很郁闷

以上是关于反应本机调试器:“错误:ENOENT:没有这样的文件或目录”的主要内容,如果未能解决你的问题,请参考以下文章

在调试指向问题时反应本机

在Windows中连接到远程调试器时反应本机超时

调试 - 如何分析反应本机内存使用情况

反应本机应用程序在调试模式下工作,但在 ios 上不工作发布模式

在模拟器/设备上/使用或不使用 Chrome 调试时反应本机行为不同

用于调试样式的博览会(反应本机应用程序)的 UI 检查器工具