Odpowiedzi:
Oto co z tym zrobiłem:
Zamknij wszystkie terminale i ponownie uruchom kompilację.
Możesz zapomnieć o zamknięciu terminala nodejs z innego projektu, a oni zainstalowali inną wersję reagowania.
Tak więc kod pobierany z serwera nodejs powoduje konflikt z rodzimym.
Bundling 'index.android.js' 100.0% (1/1), done
.
build.gradle
działającym. dzięki @Val
react-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:
"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
}
}
Po prostu przejdź do swojego, android/app/build.gradle
a następnie dodaj do dependencies
sekcji:
dependencies{
compile ("com.facebook.react:react-native:0.50.3") { force = true }
}
/// reagującą wersję natywną można znaleźć w pliku package.json
po prostu wymuś zareagowanie na wersję natywną w pliku ocen poziomu aplikacji na Androida, w dependencies
sekcji.
compile ("com.facebook.react:react-native:0.52.0") { force = true }
pracował dla mnie
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.
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).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
i package.json
dopasowanie do odpowiednich wersji i uruchomienie npm install
sprawiło, że wszystko znów działało.
Używam urządzenia fizycznego, w moim przypadku rozwiązało to problem:
lsof -i :8081
kill -9 PID
react-native run-android
lub react-native run-ios
)lsof -i :8081
i przebudowanie zrobiło to dla mnie na iOS Simulator.
W swoim pliku build.gradle dodaj:
implementation ("com.facebook.react:react-native:0.51.0") {
force = true;
}
zamień 0.51.0
na wersję z pliku package.json
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.
Dla mnie było to spowodowane react-native
wersją w dependency
sekcji package.json
pliku. To było:
"dependencies": {
"expo": "^27.0.1",
"react": "16.3.1",
"react-native": "~0.55.0"
}
Zorientowałem to:
"dependencies": {
"expo": "^27.0.1",
"react": "16.3.1",
"react-native": "0.52.0"
}
Teraz działa dobrze.
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ł.
watchman watch-del-all && rm -rf node_modules/ && yarn cache clean && yarn install && yarn start --reset-cache
Rozwiązaniem jest, aby usunąć folder kompilacji @ /ios/build
, a następnie wykonać react-native run-ios
go rozwiązać
Wypróbowałem powyższe rozwiązania, ale wydaje się, że dodanie tego do pliku AndroidManifest.xml to rozwiązało.
android:usesCleartextTraffic="true"
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
.
W moim przypadku pomogło zainstalowanie nowego urządzenia wirtualnego. Teraz używam 1 urządzenia na aplikację.
Użytkownicy Expo - upewnij się, że app.json
wersja SDK i package.json
EXPO są (mogą być równe) kompatybilne ze sobą.
Miałem również ten problem podczas korzystania z Expo i iOS Simulator. To, co zadziałało, to wymazanie symulatoraHardware > Erase All Content and Settings...
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.
W moim przypadku (NIE używając expo i kompilacji Androida)
pakiet.json
"dependencies": {
"react": "16.3.1",
"react-native": "0.55.2"
}
I app.json
{
"sdkVersion": "27"
}
rozwiązany problem
Próbowałem zbudować i uruchomić aplikację React Native z WebStorm i napotkałem ten problem. Prostym rozwiązaniem było dla mnie:
watchman watch-del-all
W systemie macOS, jeśli watchman
nie jest jeszcze zainstalowany, zainstaluj go za pomocą Homebrew :
brew install watchman
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:
1. To kill current processes
killall node -9
2. To Start React Native
react-native start
3. Then Run android
react-native run-android
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.json
Po tym uruchomieniu: expo r -c
wyczyść pamięć podręczną i uruchom aplikację.
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.
export ANDROID_HOME=/Users/username/MyFiles/applications/androidsdk
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
Otrzymałem tę klasyfikację, gdy definicje typów TypeScript były niezgodne.
EG react-native
w 0.61.5 w dependencies
i @types/react-native
w 0.60.0 w devDependencies
.
Gdy tylko zaktualizowałem devDependencies, zadziałało. Nie musiałem niczego restartować.
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!
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”.
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
.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