Cocoapods1.8.4 踩坑解决

2020-02-15  本文已影响0人  彧哥哥

最近使用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

  1. 速度升级你的cocoapods sudo gem install cocoapods -n /usr/local/bin

  2. 对于使用私有库或者已经使用私有库的项目,需要更改下source源,删除原有source:

source 'https://github.com/CocoaPods/Specs.git'

增加新的source:

source 'https://cdn.cocoapods.org/'

  1. 与此同时, 执行:
    pod repo remove master
    命令,可以 解放电脑一些空间。

作者:刘明洋
链接:https://www.jianshu.com/p/f395eda2a388
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

上一篇下一篇

猜你喜欢

热点阅读