剛寫了一個react-native小demo,完美運行,心中竊喜,于是關閉項目。過了一會兒,想再一睹剛才如行云流水般運行的項目,于是,運行,結果......納尼?出現了一片姨媽紅有沒有?心中一萬頭草泥馬呼嘯而過有沒有?到底發生了什么?
NA!阿sir啊,我說了我沒動過代碼啦,出現下面這種錯誤不關我的事啊:
ProjectName has not been registered. This is either due to a require() error during initialization or failure to call AppRegistry.registerComponent.
分析錯誤原因:
1.第一種情況:
程序入口處項目名稱不一致。檢查發現:
AppRegistry.registerComponent('ProjectName', () => ProjectName);
一模一樣!為了擔心怕自己的眼睛看到的不是真實的,特地粘貼復制了一遍!
第一種情況排除!
2.第二種情況
8081端口被占用
檢驗方法:到項目根目錄下--------->>>打開終端--------->>>輸入命令行:react-native start
如果出現了Packager can't listen on port 8081
,好的恭喜你,找到了癥結所在,下面就是根據提示來就好了:
- lsof -i : 8081 //列出被占用的端口
- kill -9 <PID> //找出與之對應的PID,殺死就ok了
- 重新運行項目
- 依舊完美