zoukankan      html  css  js  c++  java
  • 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卡住耽误了时间就好

    仅做记录!
     
     
  • 相关阅读:
    给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。
    11
    实战 迁移学习 VGG19、ResNet50、InceptionV3 实践 猫狗大战 问题
    tx2系统备份与恢复
    如何在Ubuntu 18.04上安装和卸载TeamViewer
    bzoj 3732 Network (kruskal重构树)
    bzoj2152 聪聪可可 (树形dp)
    牛客 216D 消消乐 (二分图最小点覆盖)
    牛客 197E 01串
    Wannafly挑战赛23
  • 原文地址:https://www.cnblogs.com/hero11223/p/10718169.html
Copyright © 2011-2022 走看看