Несоответствие Родной Версии React

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

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

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

спасибо!

enter image description here

23 ответов


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

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

возможно, вы забыли закрыть терминал 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"
  }

app.в JSON:

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

просто force react родная версия в файле 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 я работаю. Если его нужно обновить, я обновляю его. Тогда очистка watchman и кэш-это второе место, куда я иду. Я не использую команду reset cache. Он всегда говорит, что мне нужно проверить кэш, поэтому я пропускаю это (вы можете это сделать, я просто запутался). Я использую rm-rf $TMPDIR / react -*, чтобы избавиться от любого кэширования опирающийся. Если это не работает, я пытаюсь построить приложение в Xcode, а затем работать оттуда, чтобы построить его с помощью react-native run-ios. С этим сообщением об ошибке, кажется, вы можете начать, пытаясь построить его с Xcode. Надеюсь, это поможет...дайте мне знать о ваших успехах. Удачи! (Кроме того, вы можете обновить до RN 0.51 как еще одну попытку синхронизировать свои версии.)


у меня была эта проблема в течение длительного времени, и ни одно из вышеперечисленных решений не помогло. Я был в середине обновления react native в 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 все снова работает.


повторите попытку установки зависимостей. Это сработало для меня ... --3-->

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 были настроены до сборки.

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

экспорт ANDROID_HOME= / Пользователи / Имя пользователя / MyFiles/приложения/androidsdk экспорт PATH=$PATH:$ANDROID_HOME / tools:$ANDROID_HOME / platform-tools


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


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


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


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


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

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

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

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


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


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

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

Opene projectdir / android / app / build.Gradle в

попробуй:

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

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

Ref.: ссылке


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

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

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

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