Otrzymuję następujący komunikat, gdy inicjuję nowy projekt, a następnie uruchamiam emulator Xcode:
Niezgodność wersji React-Native
Wersja Javascript 0.50.1 Wersja natywna: 0.50.0
Upewnij się, że odbudowałeś kod macierzysty. ...
Czy ktoś wie, co się tutaj dzieje i może mi pomóc?
Bundling 'index.android.js' 100.0% (1/1), done
.build.gradle
działającym. dzięki @Valreact-native run-ios
pod install
jeśli używasz cocoapods.W przypadku, gdy utworzyłeś aplikację Reaktywuj natywną za pomocą aplikacji Utwórz Reaktywuj natywną. Powinieneś mieć app.json (expo). i plik package.json, sprawdź, czy wersje expo są zgodne i odpowiednio się zmień. Na przykład w moim przypadku problem polegał na tym, że w pliku app.json miałem wersję 25.0.0 dla atrybutu expo sdkVersion , zmieniam ją na 23.0.0 i wszystko działało.
package.json:
app.json:
źródło
Po prostu przejdź do swojego,
android/app/build.gradle
a następnie dodaj dodependencies
sekcji:/// reagującą wersję natywną można znaleźć w pliku package.json
źródło
po prostu wymuś zareagowanie na wersję natywną w pliku ocen poziomu aplikacji na Androida, w
dependencies
sekcji.pracował dla mnie
źródło
npm start -- --reset-cache
i pobiegłemreact-native run-android
Nigdy wcześniej nie widziałem tego błędu, ale ilekroć nie mogę sprawić, by Xcode i React-Native dobrze ze sobą grały, robię kilka rzeczy. Sprawdź, z jaką wersją Xcode pracuję. Jeśli trzeba go zaktualizować, aktualizuję go. Potem czyszczenie stróża i skrytka to drugie miejsce, do którego chodzę. Nie używam polecenia reset cache. Zawsze mówi, że muszę zweryfikować pamięć podręczną, więc pomijam to (możesz to zrobić, po prostu się mylę). Używam rm -rf $ TMPDIR / reaguj *, aby pozbyć się buforowanych kompilacji. Jeśli to nie zadziała, staram się zbudować aplikację w Xcode, a następnie zacząć od tego miejsca, aby zbudować ją z działającym w środowisku responsive run-ios. Po wyświetleniu tego komunikatu o błędzie możesz zacząć od zbudowania go za pomocą Xcode. Mam nadzieję, że to pomoże ... daj mi znać swoje postępy. Powodzenia! (Możesz także zaktualizować do RN 0.
źródło
Jeśli korzystasz z aplikacji React Native za pośrednictwem Expo, aktualizacja React Native może spowodować ten błąd (jak zauważono na https://github.com/expo/expo/issues/923 ).
Jeśli taki jest twój scenariusz, masz następujące opcje:
package.json
) do wersji kompatybilnej z twoją wersją React Native ( jeśli taka istnieje, co może nie być prawdą - sądząc po powiązanym problemie, sądzę, że obsługa Expo śledzi wydania React Native).źródło
Najdłużej miałem ten problem i żadne z powyższych rozwiązań nie pomogło. Byłem w trakcie uaktualniania programu native reagować w
create-react-native-app
projekcie, dopóki nie dowiedziałem się, że nie wszystkie wersje Expo obsługują najnowszą wersję React Native.Znalazłem link do tej strony w dokumentacji, która pokazuje, które kombinacje wersji React Native, React i Expo są oficjalnie obsługiwane:
Źródło: https://github.com/react-community/create-react-native-app/blob/master/VERSIONS.md
Edycja plików
app.json
ipackage.json
dopasowanie do odpowiednich wersji i uruchomienienpm install
sprawiło, że wszystko znów działało.źródło
Używam urządzenia fizycznego, w moim przypadku rozwiązało to problem:
lsof -i :8081
kill -9 PID
react-native run-android
lubreact-native run-ios
)źródło
lsof -i :8081
i przebudowanie zrobiło to dla mnie na iOS Simulator.W swoim pliku build.gradle dodaj:
zamień
0.51.0
na wersję z pliku package.jsonźródło
Dla programistów Androida, którzy nie mogli go naprawić po prostu zamykając i przebudowując, ręcznie odinstaluj aplikację na emulatorze / urządzeniu.
źródło
Spróbuj ponownie zainstalować zależności. To działało dla mnie
1.)
yarn/npm install
2.)
yarn/npm start --reset-cache
źródło
Dla mnie było to spowodowane
react-native
wersją wdependency
sekcjipackage.json
pliku. To było:Zorientowałem to:
Teraz działa dobrze.
źródło
W moim przypadku mam do czynienia z tym na iOS i próbowałem zresetować i wyczyścić całą pamięć podręczną za pomocą poniższego polecenia, ale również nie powiodło się, pomimo wielu komentarzy, że główną przyczyną jest to, że program pakujący działa gdzieś przypadkowo, uruchomiłem ponownie mój Mac i problem nadal występował.
Rozwiązaniem jest, aby usunąć folder kompilacji @
/ios/build
, a następnie wykonaćreact-native run-ios
go rozwiązaćźródło
Wypróbowałem powyższe rozwiązania, ale wydaje się, że dodanie tego do pliku AndroidManifest.xml to rozwiązało.
źródło
Dla innych z tym samym problemem na iOS z CocoaPods:
Wypróbowałem wszystkie powyższe rozwiązania, bez powodzenia. Mam kilka pakietów z natywnymi zależnościami w moim projekcie, a niektóre z tych potrzebnych modułów pod są instalowane. Problem polegał na tym, że React został określony w moim Podfile, ale zasobnik React nie został automatycznie zaktualizowany przy użyciu
react-native-git-upgrade
.Rozwiązaniem jest uaktualnienie wszystkich zainstalowanych modułów, poprzez uruchomienie
cd ios && pod install
.źródło
W moim przypadku pomogło zainstalowanie nowego urządzenia wirtualnego. Teraz używam 1 urządzenia na aplikację.
źródło
Użytkownicy Expo - upewnij się, że
app.json
wersja SDK ipackage.json
EXPO są (mogą być równe) kompatybilne ze sobą.źródło
Miałem również ten problem podczas korzystania z Expo i iOS Simulator. To, co zadziałało, to wymazanie symulatora
Hardware > Erase All Content and Settings...
źródło
Możliwa poprawka:
watchman watch-del-all && rm -rf $TMPDIR/react-* && rm -rf $TMPDIR/haste-map-react-native-packager-* && rm -rf node_modules/&& npm install
Jeśli problem będzie się powtarzał, spróbuj wykonać projekt bezpośrednio z Xcode
To zadziałało dla mnie.
źródło
W moim przypadku (NIE używając expo i kompilacji Androida)
pakiet.json
I app.json
rozwiązany problem
źródło
Próbowałem zbudować i uruchomić aplikację React Native z WebStorm i napotkałem ten problem. Prostym rozwiązaniem było dla mnie:
W systemie macOS, jeśli
watchman
nie jest jeszcze zainstalowany, zainstaluj go za pomocą Homebrew :źródło
Zdarza się to czasami, gdy próbujesz uruchomić bez zamykania serwera węzłów, na którym działała poprzednia aplikacja, więc spróbuj zrestartować React. Aby to zrobić, po prostu uruchom następujące polecenia:
źródło
W moim przypadku zmieniłem
expo
wersję ręcznie. Mam ten sam problem, ponieważ zapomniałem zaktualizować sdkVersion w app.json i babel-preset-expo w package.jsonPo tym uruchomieniu:
expo r -c
wyczyść pamięć podręczną i uruchom aplikację.źródło
Naprawiliśmy to, aby upewnić się, że zmienne ANDROID_HOME i PATH zostały skonfigurowane przed kompilacją.
Najpierw uruchom poniższe dwa polecenia, a następnie skompiluj aplikację dla urządzenia.
źródło
Otrzymałem tę klasyfikację, gdy definicje typów TypeScript były niezgodne.
EG
react-native
w 0.61.5 wdependencies
i@types/react-native
w 0.60.0 wdevDependencies
.Gdy tylko zaktualizowałem devDependencies, zadziałało. Nie musiałem niczego restartować.
źródło
To nie jest poprawka, ale w moim przypadku miałem wiele aplikacji RN zainstalowanych na moim urządzeniu i nieświadomie próbowałem „przeładować” z niewłaściwej aplikacji. (W tej chwili tworzę jednocześnie dwie aplikacje). Upewnij się, że korzystasz z właściwej aplikacji!
źródło
Spróbuj zmienić wersję swojego Native-React podaną w pakiecie.json (w zależności od zależności - Reaktywuj-Native) na tę samą, co „Wersja Native” pokazana w komunikacie o błędzie. Następnie uruchom ponownie „npm install”.
źródło
Mam ten sam problem podczas tworzenia natywnej aplikacji reagującej na Androida i wykonałem następujące czynności, które zadziałały dla mnie.
„Wersja JavaScript 0.50.1” w konsoli błędów jest wersją rodzimą reagującą w twoim
package.json
pliku. Upewnij się, że jest to ta sama wersja co „Wersja natywna 0.50.0” w konsoli błędów.react-native run-android
.źródło
Upewnij się również, że Wi-Fi jest włączone w emulatorze
źródło
Opene projectdir / android / app / build.gradle
Próbować:
compile ("com.facebook.react: React-native: 0.51.0") {force = true}
Zamiast kompilować „com.facebook.react: reaktor-rodzimy: 0,51.0” {force = true}
Ref .: Link
źródło