React Native: Uncaught (в обещании) Ошибка: DeltaPatcher должен получить базовый пакет при инициализации

Недавно я столкнулся с этим сообщением об ошибке в http://локальный:8081/debugger-ui/, в котором говорится:

Uncaught (in promise) Error: DeltaPatcher should receive a base Bundle when being initialized
    at DeltaPatcher.applyDelta 
    at deltaUrlToBlobUrl
    at async getBlobUrl 
    at async WebSocket.ws.onmessage 
applyDelta  
deltaUrlToBlobUrl       
async function (async)      
ws.onmessage

Эта ошибка возникает, когда я пытаюсь открыть свое приложение React Native из симулятора, и хотя файлы index.ios.js создаются успешно, приложение остается на заставке с указанной выше ошибкой.

Я не знаю, к чему это относится, или с чего начать отладку, или из какого пакета исходит этот DeltaPatcher.

Что касается того, что я делал до получения этой ошибки, вот что я делал:

  • Пакетное исправление для представления вкладки с возможностью реагирования

  • Пришлось удалить npm-shrinkwrap.json для запуска установки npm.

  • пришлось удалить и переустановить react-native-splash-screen, чтобы обойти сбой сборки с помощью xcode

  • Пришлось создать новый auth.token в Sentry с разрешениями project:write чтобы обойти ошибку 403

  • Вручную полностью удалить Instabug из проекта

  • Исправление ошибок Spinkit и alerts.filter

    После этого приложение работало корректно, но потом пришлось устранить следующие ошибки в Xcode.

  • Удалены все ссылки на 8CBD27422B744FC9C0407AA3, связанные с
    PhaseScriptExecution ошибка

  • Рефакторинг конфигурации до предыдущей версии для устранения
    Ошибка AppReactNativeCrashed

  • изменена конфигурация Podfile, чтобы отразить обновление AppCenter

  • удаление ссылок instabug и spinkit

Затем я вспомнил, что установил Metro версии 29, пытаясь решить другую проблему. Поэтому я полностью удалил Metro как пакет, но это не решило проблему.

Сценарий, который я запускаю, это react-native run-ios, а это мой package.json файл:

"scripts": {
    "start": "nps",
    "test": "nps setup && nps test",
    "build": "nps build",
    "prepare": "nps patcher",
    "setup": "nps setup && nps appcenter",
    "react-devtools": "react-devtools"
  },
  "dependencies": {
    "appcenter": "2.0.0",
    "appcenter-analytics": "2.0.0",
    "appcenter-crashes": "2.0.0",
    "axios": "0.16.2",
    "date-fns": "^1.29.0",
    "lodash": "4.17.4",
    "moment": "2.20.1",
    "payment": "2.3.0",
    "prop-types": "15.6.0",
    "react": "16.8.3",
    "react-native": "0.59.9",
    "react-native-autoheight-webview": "0.6.1",
    "react-native-calendar-events": "1.6.1",
    "react-native-device-info": "0.21.5",
    "react-native-exception-handler": "2.8.9",
    "react-native-image-progress": "1.0.1",
    "react-native-immediate-phone-call": "1.0.0",
    "react-native-keyboard-aware-scroll-view": "0.4.4",
    "react-native-keyboard-manager": "4.0.13-12",
    "react-native-material-buttons": "0.5.0",
    "react-native-material-dropdown": "0.5.2",
    "react-native-material-tabs": "3.5.0",
    "react-native-material-textfield": "0.10.0",
    "react-native-onesignal": "3.0.7",
    "react-native-popup-menu": "0.8.3",
    "react-native-sentry": "0.32.0",
    "react-native-size-matters": "0.1.0",
    "react-native-splash-screen": "3.0.6",
    "react-native-svg": "6.3.1",
    "react-native-swipe-view": "https://github.com/jjd314/react-native-swipe-view",
    "react-native-tab-view": "1.3.2",
    "react-native-vector-icons": "6.1.0",
    "react-native-xcode-packager": "0.1.0",
    "react-navigation": "1.5.11",
    "react-redux": "5.0.6",
    "reactotron-react-native": "3.5.0",
    "reactotron-redux": "3.1.0",
    "recompose": "0.26.0",
    "redux": "4.0.1",
    "redux-thunk": "2.2.0",
    "replace-in-file": "3.1.1"
  },
  "devDependencies": {
    "@babel/core": "7.4.5",
    "@babel/plugin-proposal-optional-chaining": "7.2.0",
    "@babel/runtime": "7.4.5",
    "async": "2.6.0",
    "babel-cli": "6.24.1",
    "babel-eslint": "8.0.2",
    "babel-jest": "23.0.0",
    "babel-plugin-module-resolver": "3.0.0",
    "babel-preset-env": "1.4.0",
    "babel-preset-flow": "6.23.0",
    "babel-preset-stage-2": "6.24.1",
    "babel-watch": "2.0.6",
    "chalk": "1.1.3",
    "detox": "8.2.3",
    "eslint": "4.12.0",
    "eslint-import-resolver-babel-module": "4.0.0-beta.3",
    "eslint-plugin-import": "2.8.0",
    "eslint-plugin-prettier": "2.3.1",
    "eslint-plugin-react": "7.5.1",
    "flow-bin": "0.46.0",
    "fs-extra": "5.0.0",
    "jest": "23.0.0",
    "metro-react-native-babel-preset": "0.54.1",
    "nps": "5.7.1",
    "nps-utils": "^1.5.0",
    "patch-package": "5.1.1",
    "postinstall-prepare": "1.0.1",
    "prettier": "1.8.2",
    "prettier-eslint": "8.2.2",
    "react-devtools": "3.6.1",
    "react-test-renderer": "16.2.0",
    "redux-mock-store": "1.3.0",
    "yargs": "8.0.1"
  },
  "jest": {
    "preset": "react-native",
    "setupTestFrameworkScriptFile": "./jest-setup.js",
    "transformIgnorePatterns": [
      "/node_modules/(?!parse)/"
    ],
    "unmockedModulePathPatterns": [
      "react",
      "react-navigation",
      "axios",
      "redux",
      "redux-thunk",
      "lodash",
      "date-fns"
    ],
    "verbose": true
  },
  "detox": {
    "configurations": {
      "ios.sim.debug": {
        "binaryPath": "ios/build/Build/Products/Debug-iphonesimulator/NFIBEngage.app",
        "build": "xcodebuild -workspace ios/NFIBEngage.xcworkspace -configuration Debug -scheme NFIBEngage -sdk iphonesimulator -derivedDataPath ios/build",
        "type": "ios.simulator",
        "name": "iPhone 6"
      }
    },
    "test-runner": "jest"
  }
}
github.com/facebook/react-native/issues/…
Medet Tleukabiluly 12.06.2019 05:11

@MedetTleukabiluly, да, я взглянул на это. Я погуглил, черт возьми, эту ошибку, прежде чем опубликовать ее здесь.

Daniel 12.06.2019 05:15

Что, если вы просто отключите debugger-ui или переустановите плагин

Medet Tleukabiluly 12.06.2019 05:17

@MedetTleukabiluly, похоже, ошибка связана с метро. У меня изначально не было Metro-пакета в этом приложении, поэтому я его удалил, но это еще не исправлено. Попробую удалить нод модули и переустановить все без метро.

Daniel 12.06.2019 05:18

Я смог решить свою проблему, реальный журнал, который мне помог, был в журнале метро, ​​он был связан с firebase

simo 21.06.2019 14:04

@simo, в моем случае я не использую firebase. В этот момент мое приложение просто вылетает со следующими ошибками: Unhandled JS Exception: Cannot create styled-component for component: [object Object] и AppRegistry is not a callable module.

Daniel 21.06.2019 14:22
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
2
6
1 237
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Итак, после того, как я удалил Metro версии 29, я просто продолжал многократно запускать эти команды:

rm -rf node_modules && npm install && npm run setup && react-native run-ios

и теперь он загружается мимо заставки с еще одной, но более знакомой ошибкой.

не могли бы вы поделиться скриптом запуска? Вы можете поделиться своим файлом package.json?

simo 19.06.2019 18:52

@simo, спасибо за интерес. Я включил информацию, которую вы просили. В настоящее время я получаю приложение, которое просто продолжает падать, сбой означает, что он открывает заставку и просто остается там. Я не понимаю, что может быть не так, за исключением того, что этот пакет где-то не работает с версией 0.59.9 RN, но их документация по поводу того, какие пакеты работают с этой версией, еще не опубликована. И это только на стороне ios, на стороне android я получаю эту ошибку: Task 'installDebug' not found in project ':app'. Some candidates are: 'installDevDebug'

Daniel 19.06.2019 19:01

@simo, так что то, что я написал в комментариях выше, происходит независимо от того, что сейчас мой проект успешно создает файл main.jsbundle, которого не было раньше, потому что я изменил index.ios.js на index.js

Daniel 19.06.2019 19:04

Спасибо, @Daniel, надеюсь, ваша проблема будет решена.

simo 20.06.2019 08:21

@simo, спасибо, я открыт для предложений или если вы можете поделиться этим постом со всеми, у кого могут быть идеи.

Daniel 20.06.2019 15:18

Другие вопросы по теме