“ react-native init”模板应用程序出现问题:无法从react-native / scripts解析模块“ ./index”

时间:2019-03-24 08:56:50

标签: react-native

使用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,效果很好。但是我不喜欢这种解决方案,而是想使用最新版本。

4 个答案:

答案 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-cachereact-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