【问题标题】:Expo : cannot find a module LogReporterExpo:找不到模块 LogReporter
【发布时间】:2019-09-11 19:48:35
【问题描述】:

我创建了一个 React Native 项目,并试图在 Expo XDE 中打开该项目。它抛出以下错误:

Cannot find module ...\node_modules\expo\tools\LogReporter

首先,我通过克隆 KitchenSink 项目创建了一个 React Native 项目。 链接:

NativeBase-KitchenSink

当我通过在项目根目录中发出一系列命令启动项目时:

npm install 然后expo start

我看到app.json也不正确,如下:

{
  "name": "NativebaseKitchenSink",
  "displayName": "NativebaseKitchenSink"
}

发出expo start后react-native报告app.json在当前目录下找不到。

[17:05:08] 开始项目于 D:\Projects\ReactNativeProjects\AwesomeProject [17:05:10] 错误: 缺少 app.json。请参阅https://docs.expo.io/ [17:05:10] 无法启动 项目。请修复错误并重新启动项目。 [17:05:10] 错误:无法启动项目。请修复错误并重新启动 项目。 在 C:\xdl@51.4.0\src\Project.js:1565:11 在 Generator.next () 在步骤 (C:\Users\hp\AppData\Roaming\npm\node_modules\expo-cli\node_modules\xdl\build\Project.js:2033:191) 在 C:\Users\hp\AppData\Roaming\npm\node_modules\expo-cli\node_modules\xdl\build\Project.js:2033:361 在 process._tickCallback (internal/process/next_tick.js:68:7)

我将 app.json 更改为:

{
  "expo": {
    "name": "AwesomeProject",
    "description": "A Kitchen Sink project.",
    "slug": "AwesomeProject",
    "privacy": "public",
    "sdkVersion": "30.0.0",
    "platforms": [
      "ios",
      "android"
    ],
    "ios": {
      "supportsTablet": true
    },
    "android": {
      "package": "com.abhsax.first"
    },
    "version": "1.0.0",
    "orientation": "portrait",
    "icon": "./assets/logo.png",
    "splash": {
      "image": "./assets/splashscreen.png",
      "resizeMode": "contain",
      "backgroundColor": "#ffffff"
    },
    "updates": {
      "fallbackToCacheTimeout": 0
    },
    "assetBundlePatterns": [
      "**/*"
    ]
  }
}

当我再次发布npm install 时,项目中有一些更新。然后我发出:

expo start

这个错误来了:

(节点:2044)UnhandledPromiseRejectionWarning:错误:找不到 模块 'D:\Projects\ReactNativeProjects\AwesomeProject\node_modules\expo\tools\LogReporter'

为什么会出现此错误,我该如何解决?

【问题讨论】:

  • 您没有提供足够的信息让人们帮助您。
  • 你能确定你的项目中安装了expo 包吗?您可以删除node_modules 文件夹,然后在您的项目文件夹中再次运行npm installyarn
  • Sadhu 我还有这个问题,你解决了吗?
  • @Mizlul 如果你有同样的问题,你能用MCVE添加评论吗?具有 mod 编辑权限的人可以稍后将其编辑到问题中。正如 Nyri0 评论的那样,这个问题目前没有足够的信息。
  • @Mizlul,请提供一个 git repo 可用于重现和修复错误

标签: react-native expo


【解决方案1】:

检查您的package.json 是否包含所有需要的依赖项并在项目的主目录中运行npm install

如果缺少一个包,您可以使用

添加它
npm install <package_name> --save

如果您使用的是 yarn,请运行:

yarn add expo

【讨论】:

    【解决方案2】:

    我做到了:

    yarn add expo
    

    它对我有用 =)

    【讨论】:

      【解决方案3】:

      查看文档:

      introducing-button-yarn-and-a-public-roadmap

      npm-vs-yarn-in-react-native

      这些文件说,既然项目使用Yarn配置,你必须遵循Yarn的方式。 [Note: There is a file yarn.lock inside the root directory of the project, you have posted]

      因此,此类项目应按照文档中的说明进行处理。

      请参阅How do I create a React Native project using Yarn? 以使用Yarn 实际创建react-native 项目。

      在使用yarn 添加react native CLI 之前,请务必删除node_modules 文件夹并发出命令npm install。您必须从项目根目录中删除 package-lock.json。这将防止混合不同的包管理器:npmyarn

      相反,最好不要使用npm,为了生成node_modules,只需发出命令:

      yarn
      

      最后一个链接建议使用 yarn 安装您需要的每个包,而不是使用任何其他包管理器:

      yarn global add react-native-cli
      

      添加 react-native:

      yarn add react-native
      

      添加缺少的包:

      yarn add react-base --save
      

      并使用 yarn 安装 expo:

      yarn add expo
      

      安装 expo-cli

      yarn add expo-cli
      

      您可以不用Expo。只需关注react-nativeyarn

      生成androidios 文件夹:

      react-native eject
      

      开始纱线:

      yarn start
      

      运行您选择的构建,并确保已安装 SDK。

      react-native run-android
      

      另请参阅:Uncaught TypeError: Cannot read property 'forEach' of undefined, on a KitchenSink demo

      快乐编码:-)

      【讨论】:

      • 非常感谢,@Abhinav 这是迄今为止我得到的最佳解决方案。我花了一整天的时间来纠正错误,而您的解决方案挽救了我的一天。谢谢
      【解决方案4】:

      安装 Expo 模块

      npm install --save

      npm install expo --save

      【讨论】:

        【解决方案5】:

        使用 npm install -g expo-cli@2.4.3 回滚

        【讨论】:

          猜你喜欢
          • 2019-06-20
          • 2019-10-12
          • 1970-01-01
          • 2023-01-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-04-01
          • 2022-06-24
          相关资源
          最近更新 更多