【HAVENT原創】Mac 下編譯 ReactNative(CRN) 踩坑記錄

最近在研究 ReactNative 的分包,因此下載了攜程的CRN代碼示例進行參考學習,可是在 Mac 系統下卻始終沒法在 Xcode 下編譯經過,所以記錄下踩坑過程。node

 

最初覺得是個人 Xcode 版本問題,所以心一橫就將 Xcode 從 9.4 升級到 10.1版本,而後發現依然沒法編譯經過。可是錯誤代碼已經變成以下:ios

xcode10 Command PhaseScriptExecution failed with a nonzero exit code

在網上搜索到解決方案:xcode

Xcode 菜單 file -> Workspace Settings -> Build System

選擇 Legacy Build System 使用舊的編譯系統便可

 

總算擺脫一個錯誤了,緊接着編譯又出現下面的錯誤:學習

React/RCTEventEmitter.h file not found

解決方法以下:ui

1. 快捷鍵 Command + Shift + < 打開配置界面
2. 在左側選擇 Build 節點
3. 點擊底部 + 號,選擇 React 子項目進行附加
4. 將 React 編譯項目放到主項目以前編譯
5. Clear 項目,從新編譯

 

感受應該都沒問題了,再次編譯繼續報錯:spa

ios-install-third-party.sh: Permission denied

無力的繼續搜索解決方法,有兩種方式,我都嘗試了,也不肯定哪一種有效(給 node_modules 目錄提高權限 和 給 scripts 下面的 sh 文件提高權限):code

HAVENT@MacBookPro~ chmod -R 777 node_modules

HAVENT@MacBookPro~ cd ios/CRNDemo/ReactNative/scripts
HAVENT@MacBookPro~ chmod a+x  ./*.sh

 

坎坷事後,總算是編譯經過打開 iOS 虛擬機了,歡欣鼓舞一下!ip

相關文章
相關標籤/搜索