使用Android Studio模拟器按照https://facebook.github.io/react-native/docs/getting-started完成所有操作,并使用“ react-native init myApp”创建模板应用后,出现以下错误:
Error: Unable to resolve module `./index` from `C:\Users\Oleg\Desktop\progStuff\SSFD2\node_modules\react-native\scripts/.`: The module `./index` could not be found from `C:\Users\Oleg\Desktop\progStuff\SSFD2\node_modules\react-native\scripts/.`. Indeed, none of these files exist:
* `C:\Users\Oleg\Desktop\progStuff\SSFD2\node_modules\react-native\scripts\index(.native||.android.js|.native.js|.js|.android.json|.native.json|.json|.android.ts|.native.ts|.ts|.android.tsx|.native.tsx|.tsx)`
* `C:\Users\Oleg\Desktop\progStuff\SSFD2\node_modules\react-native\scripts\index\index(.native||.android.js|.native.js|.js|.android.json|.native.json|.json|.android.ts|.native.ts|.ts|.android.tsx|.native.tsx|.tsx)`
at ModuleResolver.resolveDependency (C:\Users\Oleg\Desktop\progStuff\SSFD2\node_modules\metro\src\node-haste\DependencyGraph\ModuleResolution.js:163:15)
at ResolutionRequest.resolveDependency (C:\Users\Oleg\Desktop\progStuff\SSFD2\node_modules\metro\src\node-haste\DependencyGraph\ResolutionRequest.js:52:18)
at DependencyGraph.resolveDependency (C:\Users\Oleg\Desktop\progStuff\SSFD2\node_modules\metro\src\node-haste\DependencyGraph.js:283:16)
at C:\Users\Oleg\Desktop\progStuff\SSFD2\node_modules\metro\src\lib\transformHelpers.js:261:42
at Server.<anonymous> (C:\Users\Oleg\Desktop\progStuff\SSFD2\node_modules\metro\src\Server.js:1038:41)
at Generator.next (<anonymous>)
at asyncGeneratorStep (C:\Users\Oleg\Desktop\progStuff\SSFD2\node_modules\metro\src\Server.js:99:24)
at _next (C:\Users\Oleg\Desktop\progStuff\SSFD2\node_modules\metro\src\Server.js:119:9)
::ffff:127.0.0.1 - - [24/Mar/2019:08:18:16 +0000] "GET /index.delta?platform=android&dev=true&minify=false HTTP/1.1" 500 - "-" "okhttp/3.12.1"
在我尝试过的所有事情中,包括重新初始化项目,重新检查我是否已安装了所有最新的东西,重新安装了一些东西,唯一起作用的是使用0.58.6版本的react -native,效果很好。但是我不喜欢这种解决方案,而是想使用最新版本。
答案 0 :(得分:3)
使用以下内容:
react-native start --reset-cache
答案 1 :(得分:1)
这是react-native的问题,刚刚在未决版本中解决。
运行react-native start
是一个选项卡,而运行react-native run-android
是另一个选项卡可以暂时修复(或降级为react-native@0.58.6)。
https://github.com/facebook/react-native/issues/24112
看起来这个问题仅适用于作为react-native run-android的一部分自动启动的打包程序-如果您在run-android之前分别运行react-native start,那么您现在应该很好。
更新:
react-native v0.59.2在iOS上已修复此问题,但仍不适用于android。
现在,您需要在两个终端中运行react-native start --reset-cache
和react-native run-android
。
Update2:
https://github.com/facebook/react-native/issues/24112#issuecomment-477069406
按照此链接修改 launchPackager.bat 似乎是Windows用户的临时解决方法。
答案 2 :(得分:0)
错误指出,它无法从node_modules中找到模块的本机依赖关系。您应该
尝试删除节点模块
和run npm install
。
答案 3 :(得分:0)
清理缓存:
rm -rf $TMPDIR/react-*; rm -rf $TMPDIR/haste-*; rm -rf $TMPDIR/metro-*; watchman watch-del-all
重新启动打包程序:
react-native start
现在运行您的应用程序:
react-native run-android or react-native run-ios