• 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: 1117753, done. 
    remote: Compressing objects: 100% (75/75), done. 
    error: RPC failed; curl 56 SSLRead() return error -98060 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.0)
       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.0, 1.0.2, 1.0.1, 1.0.0, 0.6.4, 0.6.3, 0.6.2, 0.6.1, 0.6.0,
       0.5.3, 0.5.2, 0.5.1, 0.5.0, 0.4.0, 0.3.2, 0.3.1, 0.3.0, 0.2.4, 0.2.3, 0.2.2,
       0.2.1, 0.2.0, 0.1.6, 0.1.5, 0.1.0, 0.0.3, 0.0.2 [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卡住耽误了时间就好

    仅做记录!
     
     
  • 相关阅读:
    stream流的统计demo
    ResourceBundle 读取文件demo
    spring boot 配置Filter过滤器的两种方式
    java工厂模式demo
    ThreadLocalDemo
    观察者模式Demo
    大数字的计算
    rabbitMQ消息丢失
    CF671E(线段树+单调栈)
    2020集训队作业板刷记录(三)
  • 原文地址:https://www.cnblogs.com/hero11223/p/10718169.html
Copyright © 2020-2023  润新知