從 0.60 版本開始 react native 的 iOS 版本需要使用 CocoaPods 來管理依賴 然后cocoaPods上的source 都指向github 也就是說 你執(zhí)行 npm react-native init 命令 創(chuàng)建RN項目 或者 在ios文件下pod install時 都要從github上一個pod一個pod地 git clone
由于眾所周知的原因 國內(nèi)開發(fā)者 通過正常渠道 下載github代碼速度較慢? 為了解決這一問題 我們可以借助碼云上的一些鏡像庫 下載RN的相關(guān)依賴庫
“碼云極速下載” 是為了提升國內(nèi)下載速度的鏡像倉庫队腐,每日同步一次 地址如下
RN相關(guān)依賴庫都可以在這里找到鏡像
但有鏡像地址還不夠 要在podspec文件中替換source地址 podinstall的時候才會去碼云的地址git clone相應(yīng)庫
那要去哪里找到podspec文件來替換source的地址呢,這要看你install的是哪個pod
主要是兩個位置
1? ?以boost-for-react-native為例
npm react-native init 執(zhí)行失敗后 到ios文件夾下執(zhí)行pod install命令 大概率會報連接錯誤的錯
這時候我們重新執(zhí)行 pod install --verbose 通過使用verbose參數(shù)可以把install的過程log出來你會發(fā)現(xiàn) 是在
Installing boost-for-react-native (1.63.0)
git clone https://github.com/react-native-community/boost-for-react-native.git --branch v1.63.0-0?這條命令的時候網(wǎng)絡(luò)超時了?
那我們先要記住我們需要下載的boost-for-react-native版本號為1.63.0
然后我們在終端log出來的日志里面搜索boost-for-react-native??
會找到類似這樣的內(nèi)容
CDN: trunk Relative path: Specs/6/7/d/boost-for-react-native/1.63.0/boost-for-react-native.podspec.json exists! Returning local
有幾個關(guān)鍵信息需要我們提取出來 trunk 是我cocoapods的repo的名字 如果沒有創(chuàng)建過私有庫或者添加新的repo的話大部分人的cocoapods文件夾下面應(yīng)該只有一個repo 名字是master
你的pod有幾個repo 可以通過命令 pod repo查看
這個命令拿到的path 要用到 結(jié)合我們剛才拿到的?CDN: trunk Relative path: Specs/6/7/d/boost-for-react-native/1.63.0/boost-for-react-native.podspec.json這句話 我們就可以到對應(yīng)的path目錄下面找到對應(yīng)的boost-for-react-native.podspec.json?
也就是說boost-for-react-native.podspec.json 的完整路徑是/Users/mac/.cocoapods/repos/trunk/Specs/6/7/d/boost-for-react-native/1.63.0
到這里我們就找到了podspec的位置伯襟,使用xcode打開這個文件囊骤,找到source這個字段
將git字段替換成碼云極速下載中的對應(yīng)url
替換后再重新pod install --verbose 看下?Installing boost-for-react-native (1.63.0) 時 git clone的地址 是不是已經(jīng)變成了碼云的地址 如果是的話應(yīng)該很快就可以intall完成
2?大部分pod通過上一種方法可以install成功 但如果你注意看ios文件夾下podfile的內(nèi)容會有這么幾句話
也就是說DoubleConversion晃择,glog,F(xiàn)olly 這三個pod 的 podspec在?../node_modules/react-native/third-party-podspecs/ 路徑下也物,那我們?nèi)ミ@三個路徑下找到對應(yīng)的podspec按照之前的方法更改source就好了
補充說明:
1 大家pod install的時候看到開始git clone github上的地址的時候就可以control+c 取消掉install 更改podspec內(nèi)容了宫屠,沒啥好等的
2 有兩個庫在碼云極速下載這個項目上找不到對應(yīng)的鏡像,但可以在碼云主站上找到 焦除,我直接把地址提供給大家吧
一個是OpenSSL-Universal? ?https://gitee.com/the_period_of_the_ten_kingdoms/OpenSSL
另一個是glog??https://gitee.com/peppa777/google-glog