新しいプロジェクトを開始してからXコードエミュレータを起動すると、次のメッセージが表示されます。 "React-Native Version Mismatch" Javascriptバージョン0.50.1ネイティブバージョン:0.50.0
ネイティブコードを再構築したことを確認してください。
誰かがここで何が起こっているのか知っていますか、そして私を助けることができますか?
ありがとうございます。
これが私がやったことです。
すべての端末を閉じてもう一度buildを実行してください。
あなたは他のプロジェクトからnodejsターミナルを閉じるのを忘れるかもしれません、そして彼らはたまたま別の反応バージョンをインストールしたでしょう。
そのため、nodejsサーバーから取得したコードはネイティブのものと競合します。
あなたが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
}
}
Android/app/build.gradle
に行き、そしてdependencies
セクションに追加してください。
dependencies{
compile ("com.facebook.react:react-native:0.50.3") { force = true }
}
///反応するネイティブバージョンはpackage.jsonにあります。
dependencies
セクションで、あなたのAndroidのアプリレベルのgradleファイルのネイティブバージョンを強制的に反応させるだけです。
compile ("com.facebook.react:react-native:0.52.0") { force = true }
私のために働いた
Build.gradleファイルに以下を追加します。
implementation ("com.facebook.react:react-native:0.51.0") {
force = true;
}
0.51.0
をあなたのpackage.jsonの中のバージョンに置き換えてください
私は最も長い間この問題を抱えていました、そして、上記の解決策のどれも助けになりませんでした。 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
を実行すると、すべてが再び機能するようになりました。
私はこれまでにこのエラーを見たことがありませんが、XcodeとReact-Nativeをうまく組み合わせて動作させることができないときはいつでも、私はいくつかのことをします。使用しているXcodeのバージョンを確認してください。更新する必要がある場合は更新します。それから監視人とキャッシュをクリアすることは私が行く2番目の場所です。 reset cacheコマンドは使いません。私はキャッシュを検証する必要があるといつも言っているので、それは飛ばします(でもそれはできますが、混乱します)。私はrm -rf $ TMPDIR/react- *を使って、キャッシュされたビルドを取り除きます。それでもうまくいかない場合は、Xcodeでアプリをビルドしてから、そこから自分のやり方で、ネイティブネイティブのrun-iosを使ってアプリをビルドします。このエラーメッセージでは、Xcodeでそれを構築しようとすることから始めるかもしれません。それが役立つことを願っています...あなたの進歩を教えてください。がんばろう! (また、バージョンを同期させる別の試みとしてRN 0.51に更新することもできます。)
依存関係をもう一度インストールしてみてください。それは私のために働いた -
1.)yarn/npm install
2。)yarn/npm start --reset-cache
終了して再構築するだけでは修正できないAndroid開発者の場合は、エミュレータ/デバイスでアプリを手動でアンインストールしてください。
私の場合、新しい仮想デバイスをインストールするのが助けになりました。今私はアプリごとに1つのデバイスを使用しています。
私にとっては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 に記載)。
それがあなたのシナリオなら、あなたのオプションは以下のとおりです。
package.json
にリストされています)をReact Nativeのバージョンと互換性のあるバージョン(ifが存在する場合、それはそうではないかもしれません)にバンプしてください。 (ネイティブリリースのReact).CocoaPodsを使ったiOSで同じ問題を抱えている人のために:
私は運なしで上記の解決策をすべて試しました。私は自分のプロジェクトにネイティブの依存関係を持ったいくつかのパッケージを持っています、そしてそれらのいくつかはインストールされている必要なpodモジュールです。問題は、Reactが私のPodfileで指定されていても、Reactポッドがreact-native-git-upgrade
を使って自動的にアップグレードされないことでした。
修正方法は、cd ios && pod install
を実行して、インストールされているすべてのポッドをアップグレードすることです。
私はExpoとiOS Simulatorを使ってこの問題を抱えていた。私のために働いたのはHardware > Erase All Content and Settings...
の中のシミュレータを消すことでした
Expoユーザー - あなたのapp.json
sdkバージョンとpackage.json
expoバージョンが互いに互換性がある(等しいかもしれない)ことを確認してください。
私の場合、私は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
を実行して解決したことです。
上記のソリューションを試しましたが、これをAndroidManifest.xmlに追加すると修正されるようです。
Android:usesCleartextTraffic="true"
修正したのは、Android_HOME変数とPATH変数がビルド前に設定されていることを確認することでした。
まず、以下の2つのコマンドを実行してから、デバイス用のアプリをビルドします。
export Android_HOME = /ユーザー/ユーザー名/ MyFiles/applications/androidsdk export PATH = $ PATH:$ Android_HOME/tools:$ Android_HOME/platform-tools
あなたのエミュレータで無線LANが有効になっていることも確認してください
私はAndroid用の私の反応ネイティブアプリを構築しながら私は同じ問題を抱えていると私は私のために働いた以下をやった。
エラーコンソールの "JavaScript version 0.50.1"は、あなたのpackage.json
ファイルに含まれる反応ネイティブのバージョンです。エラーコンソールの「ネイティブバージョン0.50.0」と同じバージョンであることを確認してください。
react-native run-Android
を再構築します。Package.jsonで指定されたreact-nativeのバージョン(依存関係 - react-nativeの下)を、エラーメッセージに表示された 'Native Version'と同じバージョンに変更してみてください。それからもう一度 'npm install'を実行してください。
以前のアプリケーションが実行されていたノードサーバーを閉じずに実行しようとしたときに発生することがあります。そのため、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
Nodejs端末を閉じて再構築します。
私は物理的なデバイスを使用しています、私の場合はこれで問題は解決しました:
lsof -i :8081
kill -9 PID
react-native
run-Android
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}
参照: リンク
私の場合、私のAndroid物理デバイスは私の開発マシン上で走っているjsサーバーに接続しません。だから私は手動で私のAndroidデバイス上のデバッグサーバーのホストとポートを設定する必要があります。
私の場合(エキスポとAndroidビルドを使用していません)
package.json
"dependencies": {
"react": "16.3.1",
"react-native": "0.55.2"
}
そしてapp.json
{
"sdkVersion": "27"
}
問題を解決しました
私はWebStormからReact Nativeアプリを構築して実行しようとしていましたが、この問題に遭遇しました。私にとっての簡単な解決策は次のとおりです。
watchman watch-del-all
MacOSでwatchman
がまだインストールされていない場合は、 Homebrew を使用してインストールします。
brew install watchman
考えられる解決策:
watchman watch-del-all && rm -rf $TMPDIR/react-* && rm -rf $TMPDIR/haste-map-react-native-packager-* && rm -rf node_modules/&& npm install
それでも問題が解決しない場合は、 Xcode から直接 project を実行してください。
これは私のために働きました。
Node_modulesを削除し、npm installを再度実行することでこれを修正できました
これは修正方法ではありませんが、私の場合は、複数のRNアプリを自分のデバイスにインストールしていたため、誤って間違ったアプリケーションから「再読み込み」しようとしていました。 (現在2つのアプリケーションを同時に開発しています)正しいアプリケーションを使用していることを確認してください。
これはアップグレード前には起こらなかったので、Android Studio 3.2以降のユーザーに特に当てはまります。
あなたの設定でReact Nativeのバージョンを変更しなかった場合(package.json
、build.gradle
)、バージョンミスマッチの問題は、gitで別のコミットをチェックアウトした後に、プロジェクトファイルへの検出されない変更から生じる可能性があります。それを克服するには、次のことを確認してください。
ビルドをクリーンアップします。Build > Clean Project
プロジェクトをGradleファイルと同期する:ナビゲーションバーのStop
ボタンの横
プロジェクトを作成:ナビゲーションバーの最初のボタンとハンマーアイコン
そして最後にRun/Debugアプリ
これは、アプリがデバイスからアンインストールされるとインスタントランが原因で発生する可能性があるSession 'app': Error Installing APK
エラーも克服するでしょう。