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