我正在使用 Expo (SDK 52) Android 模拟器 (JDK 17) 在本地运行我的应用程序并访问我的本地主机,突然我开始从 ENOENT 收到此错误,因为找不到名为“InternalBytecode.js”的文件,现在不知何故我无法运行我的模拟器。
错误:
ERROR Warning: TypeError: Cannot read property 'regular' of undefined
Error: ENOENT: no such file or directory, open 'C:\CeSolutions\iSuite_Pro\InternalBytecode.js'
at Object.readFileSync (node:fs:441:20)
at getCodeFrame (C:\CeSolutions\iSuite_Pro\node_modules\metro\src\Server.js:949:18)
at Server._symbolicate (C:\CeSolutions\iSuite_Pro\node_modules\metro\src\Server.js:1026:22)
at Server._processRequest (C:\CeSolutions\iSuite_Pro\node_modules\metro\src\Server.js:419:7) {
errno: -4058,
code: 'ENOENT',
syscall: 'open',
path: 'C:\\CeSolutions\\iSuite_Pro\\InternalBytecode.js'
世博医生
✔ Check package.json for common issues
✔ Check Expo config for common issues
✔ Check native tooling versions
✔ Check for common project setup issues
✔ Check dependencies for packages that should not be installed directly
✔ Check npm/ yarn versions
✔ Check for issues with Metro config
✔ Check for app config fields that may not be synced in a non-CNG project
✔ Check if the project meets version requirements for submission to app stores
✔ Check Expo config (app.json/ app.config.js) schema
✔ Validate packages against React Native Directory package metadata
✔ Check that native modules do not use incompatible support packages
✔ Check for legacy global CLI installed locally
✔ Check that packages match versions required by installed Expo SDK
✔ Check that native modules use compatible support package versions for installed Expo SDK
Didn't find any issues with the project!
我已经尝试了两天来寻找 Expo SDK 52 的解决方案,但我得到的最接近的是 github 上针对 Expo SDK 47 的相关内容,即使降级我也无法解决问题。
此外,该应用程序与 Expo Go App 一起正常运行,并且预构建和构建也正常,问题出在将应用程序安装到模拟器中时的某个地方。
我也尝试过基本的东西,例如:“npm i”(再次),“npx expo install --fix”等等,没有结果。
如果有人可以分享解决方案,我将非常感激。
所以,两天后回来告诉我可以解决问题。
InternalBytecode.js 文件的问题通常在于某些依赖项错误。
我解决问题回到我所做的最后一次提交,直到其中一个没有出现问题。
最终,最有帮助的消息与这个 InternalBytecode.js 文件无关,而是与我在该问题上写的第一条消息有关: “错误警告:类型错误:无法读取未定义的属性‘常规’”
正如预期的那样,这是一个 TypeError,其中 obj 字段(字体)被设置为“any”而不是“never”。
export const lightTheme: Theme & NavigationTheme = {
dark: false,
colors: {
...
},
fonts: {} as never,
};
因此,如果您发现自己遇到同样的问题,请尝试查找第一个日志并解释它,在大多数情况下,它可能是类型问题。