Несоответствие Родной Версии React
получение следующего сообщения, когда я инициализирую новый проект, а затем запускаю эмулятор x-кода. "React-Несоответствие Родной Версии" Javascript Версии 0.50.1 Родной версия: 0.50.0
убедитесь, что вы перестроили собственный код...
кто-нибудь знает, что здесь происходит, и может мне помочь?
спасибо!
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).
Если это ваш сценарий, ваши варианты:
- 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 были настроены до сборки.
сначала выполните следующие две команды, затем создайте приложение для устройства.
экспорт 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" в консоли ошибок.
- я обновил версию react-native до "Native Version 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 }
вместо компилировать " com.фейсбук.react:react-native: 0.51.0 " { force = true }
Ref.: ссылке
мое решение-это
Обновление React-Native
удалить все папки node_modules
- изменить пакет.json (react native с последней версией)
- установка NPM