最近使用pods,出現了以下錯誤
[!] CDN: trunk Repo update failed - 39 error(s): CDN: trunk URL couldn't be downloaded: https://raw.githubusercontent.com/CocoaPods/Specs/master/Specs/7/2/d/GCDWebServer/1.2/GCDWebServer.podspec.json, error: Failed to open TCP connection to raw.githubusercontent.com:443 (Connection refused - connect(2) for "raw.githubusercontent.com" port 443) CDN: trunk URL couldn't be downloaded: https://raw.githubusercontent.com/CocoaPods/Specs/master/Specs/7/2/d/GCDWebServer/2.1.1/GCDWebServer.podspec.json, error: Failed to open TCP connection to raw.githubusercontent.com:443 (Connection refused - connect(2) for "raw.githubusercontent.com" port 443) CDN: trunk URL couldn't be downloaded: https://raw.githubusercontent.com/CocoaPods/Specs/master/Specs/7/2/d/GCDWebServer/2.2/GCDWebServer.podspec.json, error: Failed to open TCP connection to raw.githubusercontent.com:443 (Connection refused - connect(2) for "raw.githubusercontent.com" port 443) CDN: trunk URL couldn't be downloaded: .....................
解決辦法:
在podfile文件中添加source源:
source 'https://github.com/CocoaPods/Specs.git'
刪除cdn源:(CocoaPods到1.8.4,國內cdn源用不了)
#source 'https://cdn.cocoapods.org/'
pod install和pod update可以正常操作,
如果pod search有些庫不正常,可以執行:
pod repo remove trunk
移除trunk源,執行完后,pod search就正常了!
原因:
在國內,由于墻或者其他莫名原因,CocoaPods速度似蝸牛一般,每次執行pod setup的時候,都可以去喝杯咖啡。
CocoaPods 官方應該也發現了現在代碼倉庫越來越大,update速度極慢的問題。所以在1.7.2 開始使用CDN技術來實現速度的提升。當然測試階段可能由于沒有國內節點的原因,速度依舊很慢,受到大家的詬病。但是隨著1.8.0版本的正式發布。CDN被作為了spec的默認來源,速度得到了質的飛躍,強烈建議升級使用。
CDN是什么
CDN的全稱是Content Delivery Network,即內容分發網絡。CDN是構建在現有網絡基礎之上的智能虛擬網絡,依靠部署在各地的邊緣服務器,通過中心平臺的負載均衡、內容分發、調度等功能模塊,使用戶就近獲取所需內容,降低網絡擁塞,提高用戶訪問響應速度和命中率。CDN的關鍵技術主要有內容存儲和分發技術。
通俗來講就是作為一個網絡加速器的存在.
使用CDN后有哪些變化
在1.8.0之前,我們默認安裝cocoapods的時候會執行pod setup
命令,會從https://github.com/CocoaPods/Specs.git
拉取整個倉庫代碼,這時由于墻或者國內網絡原因,這一過程是非常漫長的,大約需要半個小時以上時間。
在執行pod update
的時候,也是同樣很慢,不會重新更新整個repo倉庫,而是只會拉取當前工程所需的依賴。
總結:
使用CDN后我們就不用執行pod setup的操作,使用CDN后不會拉取整個倉庫,,而改為了只會拉取當前所需,放在了 trunk
的倉庫。
怎么使用CDN
速度升級你的cocoapods
sudo gem install cocoapods -n /usr/local/bin
對于使用私有庫或者已經使用私有庫的項目,需要更改下source源,刪除原有source:
source 'https://github.com/CocoaPods/Specs.git'
增加新的source:
source 'https://cdn.cocoapods.org/'
- 與此同時, 執行:
pod repo remove master
命令,可以 解放電腦一些空間。