когда я пытаюсь выполнить npm start, он работает нормально, но когда я пытаюсь запустить приложение с помощью expo, процесс идет до 100%, и после этого ничего не происходит. Я не понимаю, в чем именно заключается проблема. У меня есть следующие вещи в package.json .... пожалуйста, помогите мне решить эту проблему.
{
"name": "ProMeeting",
"version": "0.1.0",
"private": true,
"devDependencies": {
"jest-expo": "~29.0.0",
"react-native-scripts": "^1.14.0",
"react-test-renderer": "16.3.1"
},
"main": "./node_modules/react-native-scripts/build/bin/crna-entry.js",
"scripts": {
"start": "react-native-scripts start",
"eject": "react-native-scripts eject",
"android": "react-native-scripts android",
"ios": "react-native-scripts ios",
"test": "jest"
},
"jest": {
"preset": "jest-expo"
},
"dependencies": {
"@babel/preset-react": "^7.0.0-beta.56",
"expo": "^29.0.0",
"firebase": "^5.3.1",
"native-base": "^2.7.2",
"react": "16.3.1",
"react-native": "^0.55.4",
"react-native-firebase": "^4.3.8",
"react-native-vector-icons": "^5.0.0",
"react-navigation": "^2.11.2"
}
}
Снимок экрана добавлен для иллюстрации





Вам следует попробовать настроить новый проект, поддерживающий реакцию, и перенести ваши файлы в новый проект, а затем попробовать запустить его снова, эта проблема возникает, когда файлы сборки отсутствуют.
Кажется, это могло произойти по нескольким причинам. Я попытался запустить другие приложения на своем симуляторе, перезапустил симулятор и даже попытался удалить папки сборки и перестроить с нуля, но ни один из этих подходов не решил проблему.
Что в итоге сработало, так это перезапуск React Native Debugger, который у меня был в фоновом режиме все время.
Вы также можете проверить вкладку «Сеть» в React Native Debugger, если вы включили автономное регулирование. Отключение его также должно решить проблему в некоторых случаях.
Ах, боже. Это точно, что я должен был сделать.
У меня тоже сработало. Сэкономил мне много сил. Спасибо
и как перезапустить React Native Debugger?
Закройте приложение React Native Debugger так же, как и любое другое приложение macOS, а затем запустите его снова. У него нет специальной опции для его перезапуска
Если у вас не было установлено приложение React Native Debugger и вы запускали его через браузер, уничтожьте все экземпляры terminal, затем в симуляторе выполните перезагрузку (CMD + R на Mac), затем откройте меню разработчика (CMD + D ) и выберите Stop Debugging JS Remotely, чтобы убить его
CMD+D -> Остановить отладку решил за меня. Затем я закрыл все, что потенциально могло быть подключено в качестве отладчика, прежде чем снова включить отладку.
response-native-firebase часто вызывает ту же проблему.
ниже - официальное руководство по интеграции react-native-firebase. https://rnfirebase.io/docs/v5.x.x/installation/ios
Б) В начале метода didFinishLaunchingWithOptions: (NSDictionary *) launchOptions добавьте следующую строку:
[Настройка FIRApp]; «Рекомендуется добавить строку в метод ПЕРЕД созданием RCTRootView. В противном случае инициализация может произойти после того, как уже требуется в вашем коде JavaScript, что приведет к исключениям, которые приложение не инициализирует».
У вас есть GoogleService-Info.plist? Вы установили pod? Вы «Аппаратное обеспечение»> «Стереть все содержимое и настройки в симуляторе»?
что ж, этот пост старый, но пойдем, как я решил для себя эту проблему:
> install yarn
> run: yarn remove react-native
> run: yarn add react-native
> run: react-native run-android
В моем случае мой код работал в Android, но не в симуляторе iOS.
SplashScreen.preventAutoHide(); был проблемой.
Я дважды вызвал метод, App.js и Main.js соответственно.
После удаления в App.js все заработало.
(Думаю, restarting the React Native Debugger тоже помог)
В моем случае это всегда происходило при включенной удаленной отладке JS. Пакет JS загружался до 100%, но затем приложение зависало. React Native Debugger не может подключиться, появляется сообщение об ошибке Another debugger is already connected.
Попробовав все виды вещей (сброс кеша, перезапуск Metro Builder, перезапуск симулятора) безуспешно, я вспомнил, что единственным «другим отладчиком», который я когда-либо использовал, были Chrome Devtools, поэтому я вышел из Chrome, и сразу все снова заработало. .
Оказывается, даже несмотря на то, что я закрыл вкладку Chrome, на которой отлаживал приложение, какой-то фоновый процесс в Chrome все еще был прикреплен к приложению в качестве отладчика (также после перезагрузки симулятора). Затем он достиг какой-то точки останова или исключения при запуске, поэтому он приостановился, и все, что я мог видеть, было сообщение Downloading Javascript bundle 100%.
Что ж, в моем случае я удалил цикл for, который был у меня в моем коде, и этого было достаточно, чтобы исправить эту проблему. По-видимому, мое приложение для реагирования вылетало каждый раз при запуске этого цикла.
в моем случае ;
Я добавил новый пакет (@ khanshamshad32 / carousel) v1.0.1. Я предполагаю, что у пакета есть проблемы, и моя выставка на реальном устройстве застряла% 100 .. и я собираюсь удалить все элементы пакета.
1- из package.json (относительный экземпляр)
2- из package-lock.json (относительный экземпляр)
3- из папки "имя пакета" node_modules
и это сработало
Я тоже застрял на той же проблеме и делал все возможное, но это не сработало, я возвращаю все изменения, но проблема все еще существует ..
I created my own solution and it works perfectly for me, maybe it might help someone, you can try it with Apple and Android too
npm update -g expo-cli и npm update -g react-nativeexpo init project_name (используйте исходное имя проекта, переименуйте предыдущее для резервного копирования).expo install package_name (вручную, потому что это может быть возможно из-за конфликта версий).app.json и App.js, в этот новый проект.expo start -c.И вот вам рабочий проект!
Удачного кодирования !!!
По состоянию на январь 2021 года версия вашего узла может быть одной из причин этой проблемы.
Проверьте версию своего узла с помощью node -v, и если версия - 15.x.x, попробуйте понизить версию до 14.15.1:
$ npm install -g n
$ n 14.15.1
Я столкнулся с той же проблемой. Я просто закрыл приложение и перезапустил его. В моем случае это сработало.