错误:捆绑失败 - 尝试解析模块“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”时的主要内容,如果未能解决你的问题,请参考以下文章
react-native 捆绑失败:错误:找不到模块 /metro-react-native-babel-transformer/src/index.js