繁体   English   中英

尝试通过 Expo (React Native) 启动应用程序时从 NodeJS 获取 EISDIR 错误

[英]Getting EISDIR error from NodeJS when attempting to start app via Expo (React Native)

我在 Node 上遇到了旧的“目录不是文件”错误,并且 output 并没有明确说明它到底要解析什么。 我已经尝试过登录和一切以找到问题,甚至创建了一个全新的项目,但问题仍然存在。 任何人都可以对此有所了解吗?

Error: EISDIR: illegal operation on a directory, read
at Object.readSync (fs.js:592:3)
at tryReadSync (fs.js:366:20)
at Object.readFileSync (fs.js:403:19)
at UnableToResolveError.buildCodeFrameMessage (C:\Users\thepo\Applications\WakeMyPC\node_modules\metro\src\node-haste\DependencyGraph\ModuleResolution.js:304:17)
at new UnableToResolveError (C:\Users\thepo\Applications\WakeMyPC\node_modules\metro\src\node-haste\DependencyGraph\ModuleResolution.js:290:35)
at ModuleResolver.resolveDependency (C:\Users\thepo\Applications\WakeMyPC\node_modules\metro\src\node-haste\DependencyGraph\ModuleResolution.js:168:15)
at DependencyGraph.resolveDependency (C:\Users\thepo\Applications\WakeMyPC\node_modules\metro\src\node-haste\DependencyGraph.js:353:43)
at C:\Users\thepo\Applications\WakeMyPC\node_modules\metro\src\lib\transformHelpers.js:271:42
at C:\Users\thepo\Applications\WakeMyPC\node_modules\metro\src\Server.js:1098:37
at Generator.next (<anonymous>)

问题原来是我使用npm安装的一些模块版本与expo不兼容。 这些早于“expo start”命令的 output 中的错误指示。 因为这些是信息日志,所以我没有给予足够的重视。 然而,几个小时后,我决定修复它们,它解决了我的问题。

修复方法是跟踪 output 中命名的每个单独的 package 并运行“expo install”。

确保app.config.jsapp.json文件中的entryPoint键设置正确。

我遇到了一个与此非常相似的间歇性错误,它与远程调试的错误有关。

在 Expo Go 应用程序摇动显示开发人员菜单中关闭“调试远程 JS”为我避免了这个问题(日志和错误仍然显示在 Metro 控制台中)。


这是我得到的确切错误消息(有时应用程序会默默地失败而没有任何错误)。 它几乎与问题中的错误相同,有几个不同的行号(可能来自不同的版本)。

Error: EISDIR: illegal operation on a directory, read
    at Object.readSync (node:fs:721:3)
    at tryReadSync (node:fs:431:20)
    at Object.readFileSync (node:fs:477:19)
    at UnableToResolveError.buildCodeFrameMessage 

至于“为什么”,在这个 expo 论坛帖子上有一些相关的讨论,该帖子又链接到这个 React Native 错误(声称在 Expo CLI 4.13.1中修复,但许多用户在最近的版本中报告了类似的问题)。

它可能与 Reanimated 2 的报告问题和 Expo 的远程调试有关(请参阅此 reanimated 问题Expo 文档中的警告说明)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM