错误:捆绑失败 - 尝试解析模块“react-native-firebase”时

Posted

技术标签:

【中文标题】错误:捆绑失败 - 尝试解析模块“react-native-firebase”时【英文标题】:Error: Bundling failed - While trying to resolve module 'react-native-firebase' 【发布时间】:2019-04-15 17:24:33 【问题描述】:

我正在尝试使用 Firebase 身份验证,但在运行 react-native run-android 时出现以下错误。该错误发生在 \react-native\scripts\..\local-cli\cli.js 脚本运行时弹出的节点终端中。我正在关注initial setup、android setup 和auth setup 的文档。 dist/ 文件夹应该来自哪里?提前致谢!

错误:捆绑失败:错误:尝试从文件 D:\Temp\projects\app\src\components\LoginView.js 解析模块 react-native-firebase 时,已成功找到包 D:\Temp\projects\app\node_modules\react-native-firebase\package.json。但是,这个包本身指定了一个无法解析的main 模块字段(D:\Temp\projects\app\node_modules\react-native-firebase\dist\index.js。事实上,这些文件都不存在:

D:\Temp\projects\app\node_modules\react-native-firebase\dist\index.js(.native||.android.js|.native.js|.js|.android.json|.native.json|.json|.android.ts|.native.ts|.ts|.android.tsx|.native.tsx|.tsx) D:\Temp\projects\app\node_modules\react-native-firebase\dist\index.js\index(.native||.android.js|.native.js|.js|.android.json|.native.json|.json|.android.ts|.native.ts|.ts|.android.tsx|.native.tsx|.tsx) 在 ResolutionRequest.resolveDependency (D:\Temp\projects\app\node_modules\metro\src\node-haste\DependencyGraph\ResolutionRequest.js:61:15) 在 DependencyGraph.resolveDependency (D:\Temp\projects\app\node_modules\metro\src\node-haste\DependencyGraph.js:219:16) 在 Object.resolve (D:\Temp\projects\app\node_modules\metro\src\lib\transformHelpers.js:141:30) 在 dependencies.map.result (D:\Temp\projects\app\node_modules\metro\src\DeltaBundler\traverseDependencies.js:373:31) 在 Array.map() 在 resolveDependencies (D:\Temp\projects\app\node_modules\metro\src\DeltaBundler\traverseDependencies.js:369:18) 在 D:\Temp\projects\app\node_modules\metro\src\DeltaBundler\traverseDependencies.js:188:33 在 Generator.next () 在步骤 (D:\Temp\projects\app\node_modules\metro\src\DeltaBundler\traverseDependencies.js:298:30) 在 D:\Temp\projects\app\node_modules\metro\src\DeltaBundler\traverseDependencies.js:309:15

package.json:

"dependencies": "react": "^16.6.0-alpha.8af6728", "react-native": "0.57.4", "react-native-firebase": "^5.1.0" , "peerDependencies": "react": "^16.5.0" , "devDependencies": "babel-jest": "23.6.0", "jest": "23.6.0", "metro-react-native-babel-preset": "0.49.0", "react-test-renderer": "16.6.0-alpha.8af6728"

【问题讨论】:

【参考方案1】:

我通过重新运行 react-native link react-native-firebase 来完成这项工作。一旦该命令成功运行,/dist 文件夹就会出现在 node_modules/react-native-firebase 目录中。

【讨论】:

如何运行这个命令以及在哪里运行?【参考方案2】:

我遇到了这个问题,接受的答案并没有解决它。我发现缓存因npm install firebase --save 下载失败而损坏。所以运行以下解决了这个问题:

npm uninstall react-native-firebase
yarn start --reset-cache
yarn --reset-cache
npm install react-native-firebase --save

【讨论】:

以上是关于错误:捆绑失败 - 尝试解析模块“react-native-firebase”时的主要内容,如果未能解决你的问题,请参考以下文章

安装@apollo/client 后无法解析主模块字段

react-native 捆绑失败:错误:找不到模块 /metro-react-native-babel-transformer/src/index.js

尝试使用 SVG 作为背景时模块解析失败

未找到模块:错误:无法使用 Webpack 解析“fs”

但是,这个包本身指定了一个无法解析的“主”模块字段

错误:捆绑失败:TypeError:无法读取未定义的属性“transformFile”,React Native