gpt4 book ai didi

android - 在 Object.readSync 处读取错误 : EISDIR: illegal operation on a directory,

转载 作者:行者123 更新时间:2023-12-04 14:06:38 30 4
gpt4 key购买 nike

当我从 android 设备进入我的 react native 应用程序时,应用程序崩溃并抛出下一个错误:
错误图片:
enter image description here
谢谢你的帮助
我尝试删除节点模块并重新安装并删除应用程序并再次构建,但它不起作用

最佳答案

这个问题似乎是由于浏览器(在我的情况下是 Chrome)请求的 Metro bundler 和源 map ,我已经列出了解决这个问题的以下步骤。
注:
下面提到的补丁脚本只和metro@0.64.0有关.如果您有其他版本,可以尝试修改脚本或通过 GitHub 问题搜索 metro与您的版本相关的内容。

  • 安装 patch-package通过运行 yarn add patch-package .
  • 接下来,编辑您的 package.json文件并在 scripts 中添加此行:
  • "postinstall": "patch-package"
  • 现在mkdir patches在项目的根目录中(如果您还没有的话)。
  • 将以下脚本添加到 patches/metro+0.64.0.patch :
  • diff --git a/node_modules/metro/src/node-haste/DependencyGraph/ModuleResolution.js b/node_modules/metro/src/node-haste/DependencyGraph/ModuleResolution.js
    index 5f32fc5..2b80fda 100644
    --- a/node_modules/metro/src/node-haste/DependencyGraph/ModuleResolution.js
    +++ b/node_modules/metro/src/node-haste/DependencyGraph/ModuleResolution.js
    @@ -346,7 +346,7 @@ class UnableToResolveError extends Error {
    try {
    file = fs.readFileSync(this.originModulePath, "utf8");
    } catch (error) {
    - if (error.code === "ENOENT") {
    + if (error.code === "ENOENT" || error.code === 'EISDIR') {
    // We're probably dealing with a virtualised file system where
    // `this.originModulePath` doesn't actually exist on disk.
    // We can't show a code frame, but there's no need to let this I/O
  • 运行yarn postinstall它应该修补 metro@0.64.0 .
  • 在 Chrome 开发工具中,取消选中:
  • 启用 JavaScript 源映射
  • 启用 CSS 源映射

  • 运行react-native start你应该很高兴。

  • 引用:GitHub => react-native-fs => Issue 991

    关于android - 在 Object.readSync 处读取错误 : EISDIR: illegal operation on a directory,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68087660/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com