web-dev-qa-db-ja.com

ネイティブ版との不一致

新しいプロジェクトを開始してからXコードエミュレータを起動すると、次のメッセージが表示されます。 "React-Native Version Mismatch" Javascriptバージョン0.50.1ネイティブバージョン:0.50.0

ネイティブコードを再構築したことを確認してください。

誰かがここで何が起こっているのか知っていますか、そして私を助けることができますか?

ありがとうございます。

enter image description here

122
Sam Rao

これが私がやったことです。

すべての端末を閉じてもう一度buildを実行してください。

あなたは他のプロジェクトからnodejsターミナルを閉じるのを忘れるかもしれません、そして彼らはたまたま別の反応バージョンをインストールしたでしょう。

そのため、nodejsサーバーから取得したコードはネイティブのものと競合します。

205
Val

あなたがcreate-react-native-appを使用してあなたのreact-nativeアプリを作成した場合。 app.json(エキスポ)があるはずです。そしてpackage.jsonファイルを使って、エキスポのバージョンが一致するかどうかを確認し、それに応じて変更します。例えば私の場合、問題はapp.jsonファイルで expo sdkVersion属性 - の25.0.0バージョンを持っていたことです 、それを23.0.0に変更してすべてがうまくいった。

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
  }
}
21
victoryoalli

Android/app/build.gradleに行き、そしてdependenciesセクションに追加してください。

dependencies{
compile ("com.facebook.react:react-native:0.50.3") { force = true } 
}

///反応するネイティブバージョンはpackage.jsonにあります。

15
kunal pal

dependenciesセクションで、あなたのAndroidのアプリレベルのgradleファイルのネイティブバージョンを強制的に反応させるだけです。

compile ("com.facebook.react:react-native:0.52.0") { force = true }

私のために働いた

8
Shubham Goel

Build.gradleファイルに以下を追加します。

implementation ("com.facebook.react:react-native:0.51.0") {
    force = true;
}

0.51.0をあなたのpackage.jsonの中のバージョンに置き換えてください

5
Nitish Phanse

私は最も長い間この問題を抱えていました、そして、上記の解決策のどれも助けになりませんでした。 Expoのすべてのバージョンが最新のReact Nativeをサポートしているわけではないことが判明するまで、私はcreate-react-native-appプロジェクトの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を実行すると、すべてが再び機能するようになりました。

5
Yatit Thakker

私はこれまでにこのエラーを見たことがありませんが、XcodeとReact-Nativeをうまく組み合わせて動作させることができないときはいつでも、私はいくつかのことをします。使用しているXcodeのバージョンを確認してください。更新する必要がある場合は更新します。それから監視人とキャッシュをクリアすることは私が行く2番目の場所です。 reset cacheコマンドは使いません。私はキャッシュを検証する必要があるといつも言っているので、それは飛ばします(でもそれはできますが、混乱します)。私はrm -rf $ TMPDIR/react- *を使って、キャッシュされたビルドを取り除きます。それでもうまくいかない場合は、Xcodeでアプリをビルドしてから、そこから自分のやり方で、ネイティブネイティブのrun-iosを使ってアプリをビルドします。このエラーメッセージでは、Xcodeでそれを構築しようとすることから始めるかもしれません。それが役立つことを願っています...あなたの進歩を教えてください。がんばろう! (また、バージョンを同期させる別の試みとしてRN 0.51に更新することもできます。)

5
Jared Nelson

依存関係をもう一度インストールしてみてください。それは私のために働いた -

1.)yarn/npm install
2。)yarn/npm start --reset-cache

4
Aditi

終了して再構築するだけでは修正できないAndroid開発者の場合は、エミュレータ/デバイスでアプリを手動でアンインストールしてください。

3
Nadun Liyanage

私の場合、新しい仮想デバイスをインストールするのが助けになりました。今私はアプリごとに1つのデバイスを使用しています。

2
Luminita Balas

私にとってはreact-nativeファイルのdependencyセクションにあるpackage.jsonバージョンが原因でした。そうだった:

"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"
}

今ではうまくいきます。

Expoを通じてReact Nativeアプリを実行している場合、React Nativeをアップグレードするとこのエラーが発生する可能性があります( https://github.com/expo/expo/issues/923 に記載)。

それがあなたのシナリオなら、あなたのオプションは以下のとおりです。

  1. Expo(あなたのpackage.jsonにリストされています)をReact Nativeのバージョンと互換性のあるバージョン(ifが存在する場合、それはそうではないかもしれません)にバンプしてください。 (ネイティブリリースのReact).
  2. 変更を破棄し、ExpoからNodeモジュールを削除して再インストールし、 Eject を実行してから(アプリの削除後も実行できることを確認した後)、もう一度アップグレードを試してください。
2
Mark Amery

CocoaPodsを使ったiOSで同じ問題を抱えている人のために:

私は運なしで上記の解決策をすべて試しました。私は自分のプロジェクトにネイティブの依存関係を持ったいくつかのパッケージを持っています、そしてそれらのいくつかはインストールされている必要なpodモジュールです。問題は、Reactが私のPodfileで指定されていても、Reactポッドがreact-native-git-upgradeを使って自動的にアップグレードされないことでした。

修正方法は、cd ios && pod installを実行して、インストールされているすべてのポッドをアップグレードすることです。

1
brkn

私はExpoとiOS Simulatorを使ってこの問題を抱えていた。私のために働いたのはHardware > Erase All Content and Settings...の中のシミュレータを消すことでした

1
catico

Expoユーザー - あなたのapp.json sdkバージョンとpackage.json expoバージョンが互いに互換性がある(等しいかもしれない)ことを確認してください。

1
cherankrish

私の場合、私はiOSでそれに直面しています、そして以下のコマンドを使用してすべてのキャッシュをリセットしてクリアしようとしましたが、失敗しました。私のMacと問題はまだ残っていました。

watchman watch-del-all && rm -rf node_modules/ && yarn cache clean && yarn install && yarn start --reset-cache

解決策は、ビルドフォルダ@ /ios/buildを削除してから、react-native run-iosを実行して解決したことです。

1
Isaac

上記のソリューションを試しましたが、これをAndroidManifest.xmlに追加すると修正されるようです。

  Android:usesCleartextTraffic="true"
1
ketimaBU

修正したのは、Android_HOME変数とPATH変数がビルド前に設定されていることを確認することでした。

まず、以下の2つのコマンドを実行してから、デバイス用のアプリをビルドします。

export Android_HOME = /ユーザー/ユーザー名/ MyFiles/applications/androidsdk export PATH = $ PATH:$ Android_HOME/tools:$ Android_HOME/platform-tools

1
Saif Kamaal

あなたのエミュレータで無線LANが有効になっていることも確認してください

0
G. Adnane

私はAndroid用の私の反応ネイティブアプリを構築しながら私は同じ問題を抱えていると私は私のために働いた以下をやった。

エラーコンソールの "JavaScript version 0.50.1"は、あなたのpackage.jsonファイルに含まれる反応ネイティブのバージョンです。エラーコンソールの「ネイティブバージョン0.50.0」と同じバージョンであることを確認してください。

  1. エラーコンソールに表示されるとおり、react-nativeバージョンを "Native Version 0.50.0"に更新しました。
  2. アプリreact-native run-Androidを再構築します。
0
Anand Yadav

Package.jsonで指定されたreact-nativeのバージョン(依存関係 - react-nativeの下)を、エラーメッセージに表示された 'Native Version'と同じバージョンに変更してみてください。それからもう一度 'npm install'を実行してください。

0
Pnar Sbi Wer

以前のアプリケーションが実行されていたノードサーバーを閉じずに実行しようとしたときに発生することがあります。そのため、Reactを再起動してみてください。

1. To kill current processes
killall node -9 

2. To Start React  Native
react-native start 

3. Then Run Android
react-native run-Android
0
civani mahida

Nodejs端末を閉じて再構築します。

0
Ashu

私は物理的なデバイスを使用しています、私の場合はこれで問題は解決しました:

  1. アプリをアンインストールする
  2. lsof -i :8081
  3. kill -9 PID
  4. アプリを再構築しますreact-nativerun-Android
0
ade_anugerah

Opene projectdir/Android/app/build.gradle

試してください:

compile( "com.facebook.react:react-native:0.51.0"){force = true}

"com.facebook.react:react-native:0.51.0"をコンパイルする代わりに{force = true}

参照: リンク

0
Khurshid Ansari

私の場合、私のAndroid物理デバイスは私の開発マシン上で走っているjsサーバーに接続しません。だから私は手動で私のAndroidデバイス上のデバッグサーバーのホストとポートを設定する必要があります。

0
Gamz Rs

私の場合(エキスポとAndroidビルドを使用していません)

package.json

"dependencies": {
    "react": "16.3.1",
    "react-native": "0.55.2"
}

そしてapp.json

{
  "sdkVersion": "27"
}

問題を解決しました

0
Ajitsen

私はWebStormからReact Nativeアプリを構築して実行しようとしていましたが、この問題に遭遇しました。私にとっての簡単な解決策は次のとおりです。

watchman watch-del-all

MacOSでwatchmanがまだインストールされていない場合は、 Homebrew を使用してインストールします。

brew install watchman
0
friederbluemle

考えられる解決策:

  1. package-lock.json を削除します。
  2. 実行: watchman watch-del-all && rm -rf $TMPDIR/react-* && rm -rf $TMPDIR/haste-map-react-native-packager-* && rm -rf node_modules/&& npm install

それでも問題が解決しない場合は、 Xcode から直接 project を実行してください。

これは私のために働きました。

0
Alejo

Node_modulesを削除し、npm installを再度実行することでこれを修正できました

0
Dazzle

これは修正方法ではありませんが、私の場合は、複数のRNアプリを自分のデバイスにインストールしていたため、誤って間違ったアプリケーションから「再読み込み」しようとしていました。 (現在2つのアプリケーションを同時に開発しています)正しいアプリケーションを使用していることを確認してください。

0
Friendly-Robot

これはアップグレード前には起こらなかったので、Android Studio 3.2以降のユーザーに特に当てはまります。

あなたの設定でReact Nativeのバージョンを変更しなかった場合(package.jsonbuild.gradle)、バージョンミスマッチの問題は、gitで別のコミットをチェックアウトした後に、プロジェクトファイルへの検出されない変更から生じる可能性があります。それを克服するには、次のことを確認してください。

  • ビルドをクリーンアップします。Build > Clean Project

  • プロジェクトをGradleファイルと同期する:ナビゲーションバーのStopボタンの横

  • プロジェクトを作成:ナビゲーションバーの最初のボタンとハンマーアイコン

  • そして最後にRun/Debugアプリ

これは、アプリがデバイスからアンインストールされるとインスタントランが原因で発生する可能性があるSession 'app': Error Installing APKエラーも克服するでしょう。

0
Siavas