ReactNative 常见红屏黄屏及终端报错
剛開始接觸RN,總是會遇到各種紅屏黃屏報錯,紅屏是fatal error(程序無法正常運行),黃屏是Warming(非致命錯誤,程序可以運行但是存在潛在問題可能在某些情況下將導致fatal error)。
紅屏或黃屏提示都只會在開發版本中顯示,正式的離線包中是不會顯示的。應用內的報錯會以全屏紅色顯示在應用中(調試模式下),我們稱為紅屏(red box)報錯。你可以使用console.error()來手動觸發紅屏錯誤。
應用內的警告會以全屏黃色顯示在應用中(調試模式下),我們稱為黃屏(yellow box)報錯。點擊警告可以查看詳情或是忽略掉。和紅屏報警類似,你可以使用console.warn()來手動觸發黃屏警告。在默認情況下,開發模式中啟用了黃屏警告。可以通過以下代碼關閉:
console.disableYellowBox = true; console.warn('YellowBox is disabled.');你也可以通過代碼屏蔽指定的警告,像下面這樣調用ignoreWarnings方法,參數為一個數組:
YellowBox.ignoreWarnings(['Warning: ']);數組中的字符串就是要屏蔽的警告的開頭的內容。(例如上面的代碼會屏蔽掉所有以Warning開頭的警告內容)。
我會在這里記錄下我遇到的比較典型的問題,不定時更新,一方面方便別人參考學習,一方面也給自己做個記錄歸納。
紅屏報錯
The development server returned response error code 500
這通常是因為NPM包出現異常產生的問題,可以嘗試把node_modules文件夾刪除后重新下載一次,可以通過在項目根目錄里運行以下命令行代碼:
rmdir -rf ./node_modules && npm install && npm link黃屏報錯
終端報錯
npm install卡在checking installable status
筆者在使用NPM過程中經常會用到npm install命令,發現有時候會卡在checking installable status不動,在網上搜尋了各種解決方法之后在這里做一個記錄。
原因
- 修改過倉庫源(淘寶源之類的)
- 遠程倉庫連接
- 舊的npm緩存與項目沖突
解決方案
打開資源管理器,地址欄輸入
C:\Users\用戶名\AppData\Roaming
這里需要根據自己用戶名修改路徑
回車進入npm目錄
找到npm和npm-cache兩個文件夾刪除
重新打開終端嘗試npm下載。問題解決
?Could not get unknown property 'MYAPP_RELEASE_STORE_FILE' for SigningConfig
原因:
打包過release包之后Gradle里面沒有密碼
解決方法:
編輯~/.gradle/gradle.properties(沒有這個文件你就創建一個空文件),添加如下的代碼(注意把其中的替換為相應密碼)。gradle.properties文件應該使用RNProject/android/下面的gradle.properties
也就是說在gradle.properties里面添加
You have not accepted the license agreements of the following SDK components
原因:
缺少相應的包(我這里就是Android SDK Platform 23相關的工具)
解決方法:
使用AS的SDK Manager下載相應的包這個時候再運行一次,依然報錯。
打開sdk目錄進入tools\bin\
在此目錄下使用命令行執行
./sdkmanager --licenses然后在出現的協議里一直按Y即可。
Could not expand ZIP
原因:暫時不明
解決方案:
進入工程文件夾下android目錄內
在此文件夾內運行命令行提示符
完成之后重新Build即可。
在調試ios上的項目的時候出現報錯
unable to find utility "instruments", not a developer tool or in PATH
報錯原因:
升級過xcode或者xcode多版本共存下沒有設置默認版本
解決方案:
打開xcode,選擇
切換到Locations,在command line tools 中選擇你需要用的版本
此時完全退出xcode,再次嘗試run-ios,一切正常!
error: RPC failed
error: RPC failed; curl 56 GnuTLS recv error (-54): Error in the pull function.
fatal: The remote end hung up unexpectedly
fatal: early EOF
報錯原因:
git緩存區不足
解決方案
修改Git的傳輸字節限制即可。
# git config --global http.postBuffer ?524288000
Application XXX has not bean registered.
故障現象
當react-native init新項目之后運行react-native run
-android/ios時手機報錯
Application XXX has not bean registered.
原因
在創建新項目時已經運行了一個node服務器,導致node無法識別新項目
處理方式
關閉所有node服務器,重新運行run
轉載于:https://www.cnblogs.com/YooHoeh/p/9381422.html
總結
以上是生活随笔為你收集整理的ReactNative 常见红屏黄屏及终端报错的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: lol小组赛怎么出线 英雄联盟赛事官网
- 下一篇: css3--文字效果