Expo: не удается найти модуль LogReporter

Я создал React Native Project и пытался открыть этот проект в Expo XDE. Выдает следующую ошибку:

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

Сначала я создал проект React Native путем клонирования проекта KitchenSink. Ссылка на сайт:

NativeBase-KitchenSink

Когда я начал проект, выполнив ряд команд внутри корневого каталога проекта:

npm install а затем expo start

Я увидел, что app.json также был неправильным, а именно:

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

После выдачи expo start app.json -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:\[email protected]\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 (внутренний /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'

Почему я получаю эту ошибку и как ее исправить?

Ответ 1

проверьте package.json, если он содержит все необходимые зависимости и запустите npm install в домашнем каталоге проекта

Если пакет отсутствует, вы можете добавить его с помощью

npm install <package_name> --save

если вы используете пряжа:

yarn add expo

Ответ 2

Я сделал:

yarn add expo

и это сработало для меня =)

Ответ 3

Смотрите документы:

вводя кнопки-нить-и-общественно-дорожную карту

а также

NPM-против-нити-в-реакции родной

В этих документах говорится, что, поскольку проект сконфигурирован с использованием Yarn, вы должны следовать пути Yarn. [Note: There is a file yarn.lock inside the root directory of the project, you have posted]

Поэтому такие проекты выполняются, следуя инструкциям в документации.

Посмотрите, как я могу создать проект React Native, используя Yarn? на самом деле создать react-native проект с использованием Yarn.

И, пожалуйста, не забудьте удалить папку node_modules и выполнить команду npm install прежде чем добавлять react native CLI с использованием yarn. Вы должны удалить package-lock.json из корня вашего проекта. Это позволит предотвратить смешивание разных менеджеров пакетов: npm и yarn.

Вместо этого будет хорошей идеей не использовать npm, а для генерации node_modules просто node_modules команду:

yarn

Последняя ссылка рекомендует установить каждый пакет, который вам нужен, используя пряжу, и не использовать какой-либо другой менеджер пакетов:

yarn global add react-native-cli

добавить реагировать родной:

yarn add react-native

добавить недостающие пакеты:

yarn add react-base --save

и установить выставку, используя пряжу:

yarn add expo

установить экспо-кли

yarn add expo-cli

Вполне возможно, что вы можете обойтись без Expo. Просто сосредоточьтесь на react-native и yarn.

Создать папки android и ios:

react-native eject

Начать пряжу:

yarn start

запустите сборку по вашему выбору и убедитесь, что SDK установлены.

react-native run-android

См. Также: Uncaught TypeError: Невозможно прочитать свойство 'forEach' из неопределенного в демоверсии KitchenSink

Удачного кодирования :-)

Ответ 4

Установите модули Экспо

npm install --save

т.е.

npm install expo --save