Die folgende Meldung wird angezeigt, wenn ich ein neues Projekt initiiere und anschließend den X-Code-Emulator startet. "Nicht übereinstimmende reaktive Version" Javascript Version 0.50.1 Native Version: 0.50.0
Stellen Sie sicher, dass Sie den systemeigenen Code neu erstellt haben ...
Weiß jemand, was hier los ist und kann mir helfen?
Vielen Dank!
Das habe ich damit gemacht:
Schließen Sie alle Terminals und führen Sie den Build erneut aus.
Möglicherweise haben Sie vergessen, das nodejs-Terminal aus einem anderen Projekt zu schließen, und es wurde eine andere Version installiert.
Der Code-Abruf vom nodejs-Server steht also in Konflikt mit dem nativen.
Für den Fall, dass Sie Ihre reag-native App mit create -rea-native-app erstellt haben. Sie sollten eine app.json (expo) haben. und eine package.json-Datei, überprüfen Sie, ob die Expo-Versionen übereinstimmen, und ändern Sie sie entsprechend. In meinem Fall bestand das Problem beispielsweise darin, dass ich in der Datei app.json eine Version 25.0.0 für das Attribut expo sdkVersion hatte. Ich ändere das auf 23.0.0 und alles hat funktioniert.
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
}
}
Gehen Sie einfach zu Ihrem Android/app/build.gradle
und fügen Sie dann den Abschnitt dependencies
hinzu:
dependencies{
compile ("com.facebook.react:react-native:0.50.3") { force = true }
}
/// Die reale native Version finden Sie in package.json
erzwingen Sie die native Version Ihrer Android-App-Level-Datei im Abschnitt dependencies
.
compile ("com.facebook.react:react-native:0.52.0") { force = true }
arbeitete für mich
Fügen Sie in Ihrer build.gradle-Datei Folgendes hinzu
implementation ("com.facebook.react:react-native:0.51.0") {
force = true;
}
ersetzen Sie 0.51.0
durch die Version in Ihrem package.json
Ich hatte dieses Problem am längsten und keine der oben genannten Lösungen half. Ich befand mich gerade mitten in einem Upgrade von native native in einem create-react-native-app
-Projekt, bis ich herausfand, dass nicht alle Expo-Versionen die neuesten React Native unterstützen.
Diese Seite wurde in der Dokumentation verlinkt, aus der hervorgeht, welche Versionskombinationen von React Native, React und Expo offiziell unterstützt werden:
Quelle: https://github.com/react-community/create-react-native-app/blob/master/VERSIONS.md
Durch Bearbeiten der app.json
- und package.json
-Dateien an die entsprechenden Versionen und das Ausführen von npm install
hat alles wieder funktioniert.
Ich habe diesen Fehler noch nie gesehen, aber wenn ich Xcode und React-Native nicht dazu bringen kann, gut zusammen zu spielen, mache ich ein paar Dinge. Überprüfen Sie, mit welcher Version von Xcode ich arbeite. Wenn es aktualisiert werden muss, aktualisiere ich es. Dann sind der Wächter und der Cache der zweite Ort, an dem ich gehe. Ich verwende den Befehl reset cache nicht. Es besagt immer, dass ich den Cache verifizieren muss, also überspringe ich das (Sie können es zwar tun, ich werde nur verwirrt). Ich verwende rm -rf $ TMPDIR/react- *, um alle zwischengespeicherten Builds zu entfernen. Wenn das nicht funktioniert, versuche ich, die App in Xcode zu erstellen, und arbeite mich dann von dort aus weiter, um sie mit reaktiösen Run-Ios zu erstellen. Mit dieser Fehlermeldung scheint es, als würden Sie versuchen, sie mit Xcode zu erstellen. Hoffe das hilft ... lass mich wissen, wie weit du dabei bist. Viel Glück! (Sie können auch ein Update auf RN 0.51 durchführen, um Ihre Versionen zu synchronisieren.)
Versuchen Sie erneut, die Abhängigkeiten zu installieren. Das hat für mich funktioniert
1.) yarn/npm install
2.) yarn/npm start --reset-cache
Für Android-Entwickler, die das Problem durch einfaches Schließen und Neuerstellen nicht beheben konnten, deinstallieren Sie die App manuell auf dem Emulator/Gerät.
Für mich war es wegen react-native
Version im dependency
Abschnitt der package.json
Datei. Es war:
"dependencies": {
"expo": "^27.0.1",
"react": "16.3.1",
"react-native": "~0.55.0"
}
Ich habe es chaged:
"dependencies": {
"expo": "^27.0.1",
"react": "16.3.1",
"react-native": "0.52.0"
}
Jetzt funktioniert es gut.
Wenn Sie Ihre React Native-App über Expo ausführen, kann das Aktualisieren von React Native diesen Fehler verursachen (wie unter https://github.com/expo/expo/issues/923 ) angegeben.
Wenn dies Ihr Szenario ist, haben Sie folgende Möglichkeiten:
package.json
aufgeführt ist) zu einer Version, die mit Ihrer React Native-Version kompatibel ist (if existiert, was möglicherweise nicht der Fall ist). Nach dem verknüpften Problem kann ich feststellen, dass die Expo-Unterstützung hinter React steht Native Releases).Für andere mit dem gleichen Problem unter iOS mit CocoaPods:
Ich habe alle oben genannten Lösungen ausprobiert, ohne Glück. Ich habe einige Pakete mit nativen Abhängigkeiten in meinem Projekt, und einige dieser benötigten Pod-Module werden installiert. Das Problem war, dass React in meiner Poddatei angegeben wurde, der React-Pod jedoch nicht automatisch mit react-native-git-upgrade
aktualisiert wurde.
Das Update besteht darin, alle installierten Pods zu aktualisieren, indem Sie cd ios && pod install
ausführen.
Ich hatte auch dieses Problem mit Expo und iOS Simulator. Was für mich funktionierte, war das Löschen des Simulators in Hardware > Erase All Content and Settings...
Ich habe die obigen Lösungen ausprobiert, aber das Hinzufügen zu AndroidManifest.xml scheint das Problem zu beheben.
Android:usesCleartextTraffic="true"
die Lösung bestand darin, sicherzustellen, dass die Variablen Android_HOME und PATH vor dem Build eingerichtet wurden.
Führen Sie zuerst die beiden folgenden Befehle aus und erstellen Sie dann die App für das Gerät.
export Android_HOME =/Benutzer/Benutzername/MeineDateien/Anwendungen/androidsdk export PATH = $ PATH: $ Android_HOME/tools: $ Android_HOME/platform-tools
In meinem Fall half die Installation eines neuen virtuellen Geräts. Jetzt verwende ich 1 Gerät pro App.
Stellen Sie außerdem sicher, dass das WLAN in Ihrem Emulator aktiviert ist
Ich habe das gleiche Problem beim Erstellen meiner reaktiven App für Android und ich habe Folgendes getan, was für mich funktioniert hat.
Die "JavaScript-Version 0.50.1" in der Fehlerkonsole ist die reaktiv-native Version in Ihrer package.json
-Datei. Stellen Sie sicher, dass es sich um dieselbe Version wie "Native Version 0.50.0" in der Fehlerkonsole handelt.
react-native run-Android
neu erstellen.Versuchen Sie, die in Ihrem package.json (unter Abhängigkeiten - reag-native) angegebene Version Ihres Reaktiverzeugungssystems in "Native Version" in der Fehlermeldung zu ändern. Führen Sie dann 'npm install' erneut aus.
Es passiert manchmal, wenn Sie versuchen, den Knotenserver zu schließen, auf dem die vorherige App ausgeführt wurde. Starten Sie React neu. Führen Sie dazu die folgenden Befehle aus:
1. To kill current processes
killall node -9
2. To Start React Native
react-native start
3. Then Run Android
react-native run-Android
Schließen Sie das nodejs-Terminal und erstellen Sie es neu.
Ich verwende ein physisches Gerät. In meinem Fall wurde das Problem dadurch gelöst:
lsof -i :8081
kill -9 PID
react-native
run-Android
neu erstellenExpo-Benutzer - Stellen Sie sicher, dass Ihre app.json
sdk-Version und package.json
expo-Version (möglicherweise gleich sind) miteinander kompatibel sind.
Öffnen Sie projectdir/Android/app/build.gradle
Versuchen:
compile ("com.facebook.react: reag-native: 0.51.0") {force = true}
Anstelle von Compile "com.facebook.react: reag-native: 0.51.0" {force = true}
Ref .: Link
In meinem Fall stellt mein physisches Android-Gerät keine Verbindung zum js-Server her, der auf meinem Entwicklungscomputer ausgeführt wird. Ich muss also den Debug-Server-Host & Port auf meinem Android-Gerät manuell einstellen.
In meinem Fall (NICHT mit Expo & Android Build)
package.json
"dependencies": {
"react": "16.3.1",
"react-native": "0.55.2"
}
Und app.json
{
"sdkVersion": "27"
}
das Problem behoben
Ich habe versucht, eine React Native-App von WebStorm zu erstellen und auszuführen, und stieß auf dieses Problem. Die einfache Lösung für mich war:
watchman watch-del-all
Falls unter watchman
nicht bereits ein Mac OS installiert ist, installieren Sie es mit Homebrew :
brew install watchman
Möglicher Fix:
watchman watch-del-all && rm -rf $TMPDIR/react-* && rm -rf $TMPDIR/haste-map-react-native-packager-* && rm -rf node_modules/&& npm install
Wenn das Problem weiterhin besteht, versuchen Sie, das project direkt vomXcodeauszuführen.
Das hat bei mir funktioniert.
Für meinen Fall stehe ich vor iOS und ich habe versucht, den gesamten Cache mit dem folgenden Befehl zurückzusetzen und zu löschen, schlug jedoch auch fehl, obwohl viele Kommentare sagten, dass die eigentliche Ursache darin liegt, dass der Packager irgendwo versehentlich ausgeführt wird Mein Mac und das Problem sind immer noch geblieben.
watchman watch-del-all && rm -rf node_modules/ && yarn cache clean && yarn install && yarn start --reset-cache
Die Lösung ist, den Build-Ordner @ /ios/build
zu löschen und dann react-native run-ios
gelöst auszuführen
Ich konnte dieses Problem beheben, indem ich node_modules löschte und npm install erneut ausführte
Dies ist kein Fix, aber in meinem Fall hatte ich mehrere RN-Apps auf meinem Gerät installiert und versuchte unwissentlich, aus der falschen Anwendung heraus "neu zu laden". (Ich entwickle momentan zwei Apps gleichzeitig) Stellen Sie also sicher, dass Sie sich in der richtigen Anwendung befinden!
Dies gilt insbesondere für Android Studio 3.2 oder neuere Benutzer, da dies vor dem Upgrade offensichtlich nicht der Fall war.
Wenn Sie die Version von React Native in Ihrer Konfiguration nicht geändert haben (package.json
, build.gradle
), könnte das Problem mit dem Versionskonflikt auf nicht erkannte Änderungen an Projektdateien zurückzuführen sein, nachdem ein anderes Commit in git ausgecheckt wurde. Um dies zu überwinden, stellen Sie sicher, dass Sie:
Bereinigen Sie den Build: Build > Clean Project
Projekt mit Gradle-Dateien synchronisieren: Neben der Schaltfläche Stop
in der Navigationsleiste
Projekt erstellen: Erste Schaltfläche in der Navigationsleiste mit einem Hammersymbol
Und zum Schluss Run/Debug App
Dies würde auch den Session 'app': Error Installing APK
-Fehler beseitigen, der durch Instant Run auftreten kann, sobald die App vom Gerät deinstalliert wird.