【React Native】version mismatch

React Native 經常遇見的一個錯誤:

在解決這個問題的過程中會發現很多奇葩的問題,明明操作正確,卻仍然報錯,特別是Android端,但我們也只能老老實實的按步驟的和它幹,佛性的對它,以下是我的解決路線:

1,Close all terminals and run build again.關閉命令行服務,重建項目;

2,按照畫面中提示的運行命令:watchman watch-del-all && react-native start --reset-cache;

3,clean 工程,再次運行項目,應該OK;此時Android端可能繼續報錯,檢查android/app/build.gradle 下的RN庫默認配置從

compile 'com.facebook.react:react-native:+'

改爲:

compile ('com.facebook.react:react-native:0.54.4') { force = true } // 0.54.4 處變爲自己的JS工程package.json中的react-native相應版本號,

然後關閉服務,clean工程,再次run即可解決;

錯誤分析:

第一種情況是有其他不同RN版本號的工程以開發模式運行,這時如果我們以 react-native run-xx 運行我們自己想要調試的工程的話,會報這個錯誤。這種情況直直接關閉其他運行 RN 工程的命令行窗口,這這個衝突問題就解決了;

第二種情況就是我們在Android/iOS工程中配置的RN庫版本與 JS工程中配置的RN庫版本不一致時會出現這個問題。這種情況下,Android工程只需將 android/app/build.gradle 下的RN庫默認配置修改爲正確的即可;在 Android gradle 中默認是沒有明確配置版本號,而是用 '+' 來指定 react-native在 Android 端的 native 版本,'+' 的意思是,採用該庫的最新版本。當我們建立工程的時候,自然是沒有問題的,因爲我們在用命令來建立工程時一般都是默認採用建立工程時的最新的RN的版本。在配置文件中這麼寫自然沒毛病,但是如果我們的開發週期很長,那麼這樣的配置就可能會出現版本不匹配的問題。
 

參考鏈接:https://stackoverflow.com/questions/47763824/react-native-version-mismatch

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章