react-native - studio - update react native




React Native Version Mismatch (20)

在初始化新項目然後啟動x-code模擬器時獲取以下消息。 “React-Native Version Mismatch”Javascript版本0.50.1原生版本:0.50.0

確保您已重建本機代碼...

有誰知道這裡發生了什麼,可以幫助我嗎?

謝謝!


Expo用戶 - 確保您的 app.json sdk版本和 package.json expo版本(可能相同)彼此兼容。


只需在您的android的應用程序級別gradle文件中,在 dependencies 部分中強制響應本機版本。

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

為我工作


可能的修復:

  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 執行 項目

這對我有用。


嘗試再次安裝依賴項。 這對我有用 -

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


在build.gradle文件中添加以下內容

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

0.51.0 中的版本替換 0.51.0


在我的情況下(不使用expo和Android版本)

的package.json

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

和app.json

{
  "sdkVersion": "27"
}

解決了這個問題


如果您使用create-react-native-app創建了您的react-native應用程序。 你應該有一個app.json(世博會)。 和package.json文件一樣,檢查expo版本是否匹配並相應更改。 例如在我的情況下,問題是在app.json文件中我有一個25.0.0版本的 expo sdkVersion屬性 ,我將其更改為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
  }
}

如果您通過Expo運行React Native應用程序,升級React Native可能會導致此錯誤(如 https://github.com/expo/expo/issues/923 )。

如果這是您的方案,您的選擇是:

  1. Bump Expo(在你的 package.json 列出)到與你的React Native版本兼容的版本( 如果 存在,可能不是這種情況 - 從鏈接的問題判斷,我認為Expo支持跟踪React Native版本)。
  2. 放棄您的更改,刪除並重新安裝您的節點模塊,從世博會中 Eject ,然後(在檢查您仍然可以在彈出後運行您的應用程序)再次嘗試升級。

對於在使用CocoaPods的iOS上遇到同樣問題的其他人:

我試過上面的所有解決方案,沒有運氣。 我的項目中有一些包含本機依賴項的包,其中一些需要安裝pod模塊。 問題是我的Podfile中指定了React,但React pod並沒有通過使用 react-native-git-upgrade 自動 react-native-git-upgrade

修復方法是通過運行 cd ios && pod install 來升級所有已安裝的 cd ios && pod install


對於我的情況,我在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 解決它


就我而言,我的android物理設備沒有連接到我的開發機器上運行的js服務器。 所以我必須在我的Android設備上手動設置調試服務器主機和端口。


我之前從未見過這個錯誤,但每當我無法讓Xcode和React-Native在一起玩的時候,我會做一些事情。 檢查我正在使用的Xcode版本。 如果需要更新,我會更新它。 然後清理守望者和緩存是我去的第二個地方。 我不使用reset cache命令。 它總是說我需要驗證緩存,所以我跳過它(你可以這樣做,但我只是感到困惑)。 我使用rm -rf $ TMPDIR / react- *來擺脫任何緩存的構建。 如果這不起作用,我嘗試在Xcode中構建應用程序,然後從那裡開始工作,用react-native run-ios構建它。 有了這個錯誤消息,您似乎可以從嘗試使用Xcode構建它開始。 希望有所幫助...讓我知道你的進步。 祝好運! (此外,您可以更新到RN 0.51作為另一種嘗試同步您的版本。)


我們所做的修復是確保在構建之前設置了ANDROID_HOME和PATH變量。

首先,運行以下兩個命令,然後構建設備的應用程序。

export ANDROID_HOME = / Users / username / MyFiles / applications / androidsdk export PATH = $ PATH:$ ANDROID_HOME / tools:$ ANDROID_HOME / platform-tools


我在構建針對android的本機應用程序時遇到了同樣的問題,我做了以下哪些對我有用。

錯誤控制台中的“JavaScript版本0.50.1”是 package.json 文件中的react-native版本。 確保它與錯誤控制台中的“Native version 0.50.0”版本相同。

  1. 我已根據錯誤控制台中的提示將react-native版本更新為“Native Version 0.50.0”。
  2. 重建應用程序 react-native run-android

我有這個問題的時間最長,上述解決方案都沒有幫助。 我正在 create-react-native-app 一個 create-react-native-app 項目中 create-react-native-app 升級反應,直到我發現並非所有版本的Expo都支持最新的React Native。

在文檔中找到此頁面,該文檔顯示正式支持React Native,React和Expo的哪些版本組合:

資料來源: https://github.com/react-community/create-react-native-app/blob/master/VERSIONS.mdhttps://github.com/react-community/create-react-native-app/blob/master/VERSIONS.md

編輯 app.jsonpackage.json 文件以匹配相應的版本並運行 npm install 一切都恢復正常。


我正在使用物理設備,在我的情況下,這解決了問題:

  1. 卸載應用程序
  2. lsof -i :8081
  3. kill -9 PID
  4. 重建應用程序( react-native run-androidreact-native run-ios

打開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}

參考: Link


當您嘗試在不關閉之前應用程序運行的節點服務器的情況下運行時,有時會發生這種情況,因此請嘗試重新啟動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 

這將特別適用於Android Studio 3.2或更新用戶,因為在升級之前似乎沒有發生這種情況。

如果您沒有在配置中更改React Native的版本( package.jsonbuild.gradle ),那麼在檢出git中的另一個提交後,版本不匹配的問題可能來自項目文件的未檢測到的更改。 為了克服這個問題,請確保:

  • 清理構建: Build > Clean Project

  • 使用Gradle文件同步項目:在導航欄上的“ Stop 按鈕旁邊

  • 製作項目:導航欄中的第一個按鈕,帶有錘子圖標

  • 最後運行/調試應用程序

這也將克服 Session 'app': Error Installing APK 錯誤,一旦從設備卸載應用程序,可能由於即時運行而發生。


這就是我用它做的:

關閉所有終端並再次運行構建。

您可能忘記從另一個項目關閉nodejs終端,他們碰巧安裝了不同的反應版本。

因此,從nodejs服務器獲取的代碼與本機服務器衝突。





react-native-ios