CocoaPods更新过程中出现的坑及解决方法
如果CocoaPods很久没有更新,那么在search、install、update,都会强制升级他的repo,然后如果安装他正常的安装程序,从github上下的时候,你会发现,这个过程不管你翻墙不翻墙,过程都是一样的慢,而且经常失败;
所以在网上查看大神们的解决方法的时候,可以直接从https://github.com/CocoaPods/Specs 这里下载,下载完成后,在本地关联下就可以了,这头了一天多,终于弄好了,最后感觉还是网络的原因,不过直接下载specs文件夹还是要快很多;
简单说下出现的错误,都是经常性出现的错误:
[!] /usr/bin/git clone https://github.com/CocoaPods/Specs.git master --progress Cloning into 'master'...
remote: Counting objects: , done.
remote: Compressing objects: % (/), done.
error: RPC failed; curl SSLRead() return error - KiB/s
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
如果正常下载的话,会经常性的出现上述错误,翻墙的话,虽然也是很慢,但是能慢慢一直下,最起码中间不会停,但是如果中间你的电脑锁屏了或是其他的原因,依然会报上述错误,接着就是pod setup继续安装,继续失败,死循环,墙不墙的根本没什么卵用;
关于CocoaPods的repo
repo,全称是Repository,顾名思义就是仓库的意思,当然就是git托管的仓库了。上面说过CocoaPods通过这个repo里的信息来获取各种三方库的信息,那么我们先来看看安装完CocoaPods后,首次进行search、install、update,都会有什么效果吧。
搜索Masonry为例,如下:
-> Masonry (1.1.)
Harness the power of Auto Layout NSLayoutConstraints with a simplified,
chainable and expressive syntax.
pod 'Masonry', '~> 1.1.0'
- Homepage: https://github.com/cloudkite/Masonry
- Source: https://github.com/cloudkite/Masonry.git
- Versions: 1.1., 1.0., 1.0., 1.0., 0.6., 0.6., 0.6., 0.6., 0.6.,
0.5., 0.5., 0.5., 0.5., 0.4., 0.3., 0.3., 0.3., 0.2., 0.2., 0.2.,
0.2., 0.2., 0.1., 0.1., 0.1., 0.0., 0.0. [master repo]
如果更新repo,或是首次安装,则会出现如下情况:
1、更新CocoaPods的master repo;
2、从https://github.com/CocoaPods/Specs 这个地址上克隆repo到本地;
3、下载git上的repo,需要下载的文件有1963451个,也就是190万个。
当时真的是没有什么好办法,网络不给力!
——————————————————————————————————————
解决思路:
既然Cocopods需要将一个git仓库克隆岛本地,我们可以直接把所需的repo下好,放到指定路径下 ~/.cocoapods/repos ,帮CocoaPods创建好本地仓库,然后关联下就可以了;
1、终端输入
open ~/.cocoapods/repos
如图:
2、下载好Specs文件
3、将下载好的文件如上图拖到 ~/.cocoapods/repos/master文件夹中,如下图:
4、终端输入:
cd ~/.cocoapods/repos/master/Specs
5、初始化:
git init
6、关联仓库:
git remote add origin https://github.com/CocoaPods/Specs
7、查看是否正常,终端输入:
pod repo
如下图:
8、然后进行 pod search 、 pod install操作,你会发现可以安装成功了,如下图:
9、pod update执行此操作时,会发现仍然会让我们更新repo,终端输入:
pod update --verbose --no-repo-update
达到不更新repo的效果,
pod search
一个三方库,但却搜不到这个三方库的最新版本的时候,也可能是因为repo没有更新导致的,只要去gitHub找到想用的三方库,找到最新版本号,写在Podfile中,然后直接pod update
就好了。以后自己想更新repo了,还是可以通过手动下载的方式进行替换,如果网络好,也可以直接pod update
,让CocoaPods自己更新repo,只要能让我们首次安装CocoaPods后快点用起来,不被首次CocoaPods更新repo卡住耽误了时间就好仅做记录!
最新文章
- 从无到有实现登录功能以及thinkphp怎么配置数据库信息
- Atitit 图像处理--图像分类 模式识别 肤色检测识别原理 与attilax的实践总结
- 初识JS正则表达式
- maven eclipse miss required library解决
- mybatis 简单配置
- 安装Sikulix
- [swustoj 785] Divide Tree
- fork与vfork的区别
- JVM性能调优监控工具
- vb ——ini 配置文件
- CodeForces 425E Sereja and Sets
- 使用Identity Server 4建立Authorization Server (2)
- 恢复Mysql丢失的root用户权限
- Linux上rpm实战搭建FTP服务器
- 1. Ansible 简介
- DTcms 模版用vs2015或2017 打开编辑时候 粘贴出问题 代码被调整
- 代码: !AJAX
- 老男孩Python自动化运维视频
- Linux之更改Nginx映射默认根目录
- java List转换为字符串并加入分隔符的一些方法总结
热门文章
- Java 调用 shell 脚本详解
- Oracle CPU使用率过高问题处理
- 4990: [Usaco2017 Feb]Why Did the Cow Cross the Road II 线段树维护dp
- db2 load选项
- Python之函数第三篇
- javaScript系列 [01]-javaScript函数基础
- SharePoint 读取内容的插件之SharepointPlus
- .Net转Java.05.为啥MySQL没有nolock
- C++ 中的不定参数与格式化字符串 # ## vsprintf
- 不同浏览器Firefox、IE6、IE7、IE8、IE9定义不同CSS样式