如果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卡住耽误了时间就好

仅做记录!

 
 

CocoaPods更新过程中出现的坑及解决方法的更多相关文章

  1. 流程引擎Activiti系列:在eclipse中搭建咖啡兔的Activiti演示工程中的各种坑及其解决方法(kft-activiti-demo-no-maven)

    近期在学习activiti,打算基于现有的框架,比如activiti-explorer或者咖啡兔的示例工程 kft-activiti-demo,在此基础上添加自己的业务流程,看看是否可以走通,以及这个 ...

  2. 开发微信小程序 中遇到的坑 及解决方法

    1.wx.request 只能访问 https 解决: 新建项目  不填appid  即可访问 localhost 2.页面中多重三元表达式  解析有问题 解决: <!--{{index}} { ...

  3. java学习过程中遇到的坑及解决方法

    1. Table 'my_data_base.gjp_zhangwu' doesn't exist Query: select * from gjp_zhangwu Parameters: 数据库中的 ...

  4. 记一次SpringBoot 开发中所遇到的坑和解决方法

    记一次SpringBoot 开发中所遇到的坑和解决方法 mybatis返回Integer为0,自动转型出现空指针异常 当我们使用Integer去接受数据库中表的数据,如果返回的数据中为0,那么Inte ...

  5. VS2012中丢失ArcGIS模板的解决方法

    VS2012中丢失ArcGIS模板的解决方法 由于ArcGIS10.0(for .NET)默认是用VS2010作为开发工具的,所以在先安装VS2012后装ArcGIS10.0 桌面版及ArcObjec ...

  6. js中style.display=""无效的解决方法

    本文实例讲述了js中style.display=""无效的解决方法.分享给大家供大家参考.具体解决方法如下: 一.问题描述: 在js中我们有时想动态的控制一个div显示或隐藏或更多 ...

  7. java开发中遇到的问题及解决方法(持续更新)

    摘自 http://blog.csdn.net/pony12/article/details/38456261 java开发中遇到的问题及解决方法(持续更新) 工作中,以C/C++开发为主,难免与其他 ...

  8. SpringBoot拦截器中无法注入bean的解决方法

    SpringBoot拦截器中无法注入bean的解决方法 在使用springboot的拦截器时,有时候希望在拦截器中注入bean方便使用 但是如果直接注入会发现无法注入而报空指针异常 解决方法: 在注册 ...

  9. asp.net url址址中中文汉字参数传递乱码解决方法

    中文乱码是网站开发中会常碰到的问题,今天我们来讲一下关于url址址中中文汉字参数传递乱码解决方法,有需要的朋友可以参考下.在cs文件里传参的时候用UrlEncode: Response.Redirec ...

随机推荐

  1. 编程菜鸟的日记-初学尝试编程-C++ Primer Plus 第5章编程练习2

    #include <iostream>using namespace std;const int MAXSIZE=100;int main(){ int a[MAXSIZE]; int s ...

  2. Java 接口 Closeable

    该接口位于java.io包下,声明如下:public interface Closeable extends AutoCloseable.关闭流并释放与该流关联的所有系统资源.如果已经关闭该流,则调用 ...

  3. 1、mysql初识

    之前我们写代码需要存取信息时用的是文件可是用文件存取数据非常局限,今天我们将走进一个新的世界mysql 本片导航: 数据库由来 数据库概述 mysql介绍 下载安装 mysql软件基本管理 初识sql ...

  4. openjdk for window

    https://developers.redhat.com/products/openjdk/download/ https://github.com/dmlloyd/openjdk

  5. 3D引擎为什么使用三角形绘制曲面

    这个问题是我第一次接触3D开发就有的疑问,最近在看<游戏引擎架构>(Game Engine Architecture),在书中找到了答案. 三角网格(Triangle Mesh),游戏开发 ...

  6. 怎样让两个DIV在同一水平线上面显示

    css定义第二个div. float:right或者left. margin-top:0px 确保第二个DIV的宽度.如果宽度宽的话,会自动到下方的.

  7. golang dlv 远程调试

    因为不知道delvel 是如何设置源码的,本地编译的上传到服务器上,服务器要调试看不到源码,很是忧伤,所以干脆使用远程调试吧: 在服务器上 ps x|grep game 查找到gameserver的进 ...

  8. SAP S/4 1610 IDES + HANA 2.0 安装

    前几天安装的都没带演示数据 ,这个版本带DEMO数据,学习比较好 我的机器配置: 内存:128G CPU:E5-2618L V4 硬盘:1T SSD 安装在VMware虚拟机中,安装完后,虚拟机大小只 ...

  9. MySQL体系结构图详解

    体系结构图如下: 连接层 思想为解决资源的频繁分配﹑释放所造成的问题,为数据库连接建立一个“缓冲池”.原理预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从“缓冲池”中取出一个,使用完毕 ...

  10. TensorFlow迭代速度变慢的问题

    最近用TensorFlow实现遗传算法(Genetic Algorithms),发现迭代速度越来越慢,用time.time()观察以后,发现每次迭代都要比上一次慢0.5秒左右,但是每次迭代的计算量是差 ...