Несоответствие Версии React Native
получение следующего сообщения, когда я инициализирую новый проект, а затем запускаю эмулятор x-кода. "React-Несоответствие Родной Версии" Javascript Версии 0.50.1 Родной версия: 0.50.0
убедитесь, что вы перестроили собственный код...
кто-нибудь знает, что здесь происходит и может мне помочь?
спасибо!
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).
Если это ваш сценарий, ваши варианты:
- Bump Expo (который указан в вашем
package.json
) к версии, совместимой с вашей собственной версией React (если один существует, что может быть не так-судя по связанной проблеме, я считаю, что поддержка Expo trails React Native releases).- отменить изменения, удалить и переустановить узел модули извлечь от 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" в консоли ошибок.
- я обновил версию react-native до "родной версии 0.50.0", как было предложено в консоли ошибок.
- пересобрать приложение
react-native run-android
.
в моем случае установка нового виртуального устройства помогла. Теперь я использую 1 устройство на приложение.
Я использую физическое устройство, в моем случае это решило проблему:
- удаление приложения
lsof -i :8081
kill -9 PID
- восстановить приложение
react-native
run-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.:ссылке