最近使用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
命令,可以 解放电脑一些空间。
作者:刘明洋
链接:https://www.jianshu.com/p/f395eda2a388
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
网友评论