Несоответствие Версии React Native


получение следующего сообщения, когда я инициализирую новый проект, а затем запускаю эмулятор x-кода. "React-Несоответствие Родной Версии" Javascript Версии 0.50.1 Родной версия: 0.50.0

убедитесь, что вы перестроили собственный код...

кто-нибудь знает, что здесь происходит и может мне помочь?

спасибо!

23 70

23 ответа:

вот что я с ним сделал:

закройте все терминалы и снова запустите сборку.

вы можете забыть закрыть терминал nodejs из другого проекта, и они, оказывается, установили другую версию react.

таким образом, выборка кода с сервера nodejs конфликтует с собственным.

просто иди к своему android/app/build.gradle а затем добавить к :

dependencies{
compile ("com.facebook.react:react-native:0.50.3") { force = true } 
}

/ / / родная версия react может быть найдена в пакете.json

в случае, если вы создали свое приложение react-native с помощью create-react-native-app. У вас должно быть приложение.json (expo). и пакет.файл json, проверьте, совпадают ли версии expo и соответственно изменяются. Например, в моем случае проблема заключалась в том, что в приложении.JSON-файл у меня была версия 25.0.0 для атрибут expo sdkVersion, Я меняю это на 23.0.0 и все работало.

пакета.json:

"dependencies": {
    "expo": "^23.0.4",
    "react": "16.0.0",
    "react-native": "^0.50.4"
  }

приложение.json:

{
  "expo": {
    "sdkVersion": "23.0.0" // before was 25.0.0
  }
}

просто принудительно реагируйте на родную версию в файле gradle вашего android-приложения, в .

compile ("com.facebook.react:react-native:0.52.0") { force = true }

работал для меня

в свою сборку.файл gradle добавьте следующее

implementation ("com.facebook.react:react-native:0.51.0") {
    force = true;
}

заменить 0.51.0 с версией в пакете.json

Я никогда не видел эту ошибку раньше, но всякий раз, когда я не могу получить Xcode и React-Native, чтобы хорошо играть вместе, я делаю несколько вещей. Проверьте, с какой версией Xcode я работаю. Если он нуждается в обновлении, я обновляю его. Затем очистка сторожа и кэша-это второе место, куда я иду. Я не использую команду reset cache. Он всегда говорит, что мне нужно проверить кэш, поэтому я пропускаю это (вы можете это сделать, хотя я просто запутался). Я использую rm-rf $TMPDIR / react -*, чтобы избавиться от любого кэшированного опирающийся. Если это не сработает, я попытаюсь построить приложение в Xcode, а затем работать оттуда, чтобы построить его с помощью react-native run-ios. С этим сообщением об ошибке, похоже, вы можете начать с попытки построить его с помощью Xcode. Надеюсь, это поможет...дайте мне знать о ваших успехах. Удачи вам! (Кроме того, вы можете обновить до RN 0.51 в качестве еще одной попытки синхронизировать свои версии.)

у меня была эта проблема в течение длительного времени, и ни одно из вышеперечисленных решений не помогло. Я был в середине обновления react native в A create-react-native-app проект, пока я не узнал, что не все версии Expo поддерживают последнюю версию React Native.

нашел эту страницу, связанную с документацией, которая показывает, какие комбинации версий React Native, React и Expo официально поддерживаются:

источник: https://github.com/react-community/create-react-native-app/blob/master/VERSIONS.md

редактирование app.json и package.json файлы в соответствии с соответствующими версиями и работает npm install все снова работает.

попробуйте установить зависимости еще раз. Это сработало для меня -

1.)yarn/npm install
2.)yarn/npm start --reset-cache

Если вы запускаете приложение React Native через Expo, обновление React Native может вызвать эту ошибку (как указано в https://github.com/expo/expo/issues/923).

Если это ваш сценарий, ваши варианты:

  1. Bump Expo (который указан в вашем package.json) к версии, совместимой с вашей собственной версией React (если один существует, что может быть не так-судя по связанной проблеме, я считаю, что поддержка Expo trails React Native releases).
  2. отменить изменения, удалить и переустановить узел модули извлечь от Expo, а затем (после проверки того, что вы все еще можете запустить приложение после выброса) повторите попытку обновления.

для разработчиков Android, которые не смогли его исправить, просто закрыв и перестроив, вручную удалите приложение на эмуляторе/устройстве.

для меня это было из-за react-native версия на . Это было:

"dependencies": {
"expo": "^27.0.1",
"react": "16.3.1",
"react-native": "~0.55.0"
}

я загнал его в:

"dependencies": {
"expo": "^27.0.1",
"react": "16.3.1",
"react-native": "0.52.0"
}

теперь он работает нормально.

для других с той же проблемой на iOS с CocoaPods:

Я пробовал все решения выше, без удачи. У меня есть несколько пакетов с собственными зависимостями в моем проекте, и некоторые из этих необходимых модулей pod устанавливаются. Проблема заключалась в том, что React был указан в моем Подфайле, но React pod не был автоматически обновлен с помощью react-native-git-upgrade.

исправление заключается в обновлении всех установленных модулей, запустив cd ios && pod install.

исправление, которое мы сделали, состояло в том, чтобы убедиться, что переменные ANDROID_HOME и PATH были настроены до сборки.

сначала выполните следующие две команды, а затем создайте приложение для устройства.

export ANDROID_HOME= / Users / username/MyFiles / applications/androidsdk экспортировать переменную PATH=$PATH: в$ANDROID_HOME/инструменты: платформы-инструменты$ANDROID_HOME/

для меня мне пришлось перезагрузить компьютер, снова открыть IDE (VS Code, Brackets, Sublime и т. д.) и построить проект

У меня также была эта проблема с использованием Expo и iOS Simulator. То, что работало для меня, стирало симулятор в Hardware > Erase All Content and Settings...

Это не исправление, но в моем случае у меня было несколько приложений RN, установленных на моем устройстве, и я неосознанно пытался "перезагрузить" из неправильного приложения. (Я разрабатываю два приложения одновременно на данный момент) поэтому убедитесь, что вы находитесь в правильном приложении!

попробуйте изменить версию вашего react-native, указанную в вашем пакете.json (в разделе зависимости - react-native) к тому же, что и "собственная версия", показанная в сообщении об ошибке. Затем снова запустите "npm install".

у меня такая же проблема при создании моего react native приложения для android, и я сделал следующее, что сработало для меня.

"версия JavaScript 0.50.1" в консоли ошибок-это версия react-native в вашем . Убедитесь, что это та же версия, что и "собственная версия 0.50.0" в консоли ошибок.

  1. я обновил версию react-native до "родной версии 0.50.0", как было предложено в консоли ошибок.
  2. пересобрать приложение react-native run-android.

убедитесь также, что Wi-Fi включен в вашем эмуляторе

в моем случае установка нового виртуального устройства помогла. Теперь я использую 1 устройство на приложение.

Я использую физическое устройство, в моем случае это решило проблему:

  1. удаление приложения
  2. lsof -i :8081
  3. kill -9 PID
  4. восстановить приложение react-nativerun-android

Opene projectdir / android / app / build.gradle

попробуй:

compile ("com.фейсбук.react: react-native: 0.51.0") { force = true }

вместо компиляция "ком.фейсбук.react: react-native: 0.51.0 " { force = true }

Ref.:ссылке

мое решение-это

  1. Обновление React-Native

  2. удалить все папки node_modules

  3. изменить пакет.json (react native с последней версией)
  4. NPM install