美文网首页
删除cocoapods以及重装遇到的问题

删除cocoapods以及重装遇到的问题

作者: woniu | 来源:发表于2018-03-13 11:14 被阅读69次

    老天很爱捉弄人,昨天下午应客户要求要将SDK发布到cocoapods上时,突然出现了cocoapods无法连接的问题,在网上查了那么多资料都没与解决问题,而客户那边又催命似的,真真的体验了一把煎熬的赶脚,那是相当的难受啊!最后在各种解决办法都无果的情况下,只能祭出杀手锏,删除cocoapods,重新安装。
    1、问题出现


    上传失败.png 更新失败.png

    2、查询问题
    a:根据上面的提示,开始在各个平台上找解决办法。

    [!] Failed to connect to GitHub to update the CocoaPods/Specs specs repo - Please check if you are offline, or that GitHub is down
    

    b:搜索解决办法如下,其他的解决方法也基本都是这样,但是本人亲测了几遍,都没有解决问题。当然,也可能是我某些方面没顾及到导致问题无法解决。

    解决办法是:
    这说明CocoaPods还不能正常使用,需要更新pod,下载它的一些依赖包;在终端中输入:
    $ pod setup
    
    过一段时间之后,你会在终端中看到跟上面同样的红色的错误信息。
    这说明某些环境原因导致pod更新不了,可能原因有,1)gem版本太低;2)github无法链接;3).cocoapods目录下的配置信息错误。我们可以一个一个来排除,
    
    首先更新gem到最新版本,在终端中输入:
    $ sudo gem update --system
    
    然后检查是否可以ping通github,在终端中输入:
    $ ping github.com
    
    然后查看pob repo list:
    $ pod repo list
    
    说明Cocoapods在将它的信息下载到~/.cocoapods里;
    cd到该目录里,用du -sh *命令来查看文件大小,结果显示0 repos,说明没有安装成功;
    
    在终端输入:
    cd ~/.cocoapods
    
    进入cocoapods文件后在终端输入:du -sh *
    重新执行pod setup,过一段时间后提示setup completed,在终端中输入pod list,展示出安装列表;
    
    
    这样总算安装好了。接下来再一次输入:
    pod search AFNetworking
    
    
    输入过后它可能会报:
    [!] Unable to find a pod with name, author, summary, or descriptionmatching `AFNetworking`
    解决方案是:
    输入:
    rm ~/Library/Caches/CocoaPods/search_index.json
    后在一次输入:pod search AFNetworking
    就可以咯。
    
    2)首先定位到项目文件目录
    cd 项目位置
    然后添加podfile文件:vim podfile (注:在写该文件的时候要注意格式 ' ' );
    进入后按i进入插入模式,进行编辑,安装官方最新的文档格式:
    
    platform :iOS, '8.0'
    target '你的项目名称' do
    
    pod 'AFNetworking', '~> 3.0'
    end
    
    编辑完成后,按ESC退出编辑模式,最后输入:wq保存并退出文件,此时可以发现在项目目录下多了一个Podfile的文件,请注意这个文件必须与.xcodeproj在同一目录下,
    最后:pod install进行安装即可。
    

    3、重装cocoaPods
    由于定位到问题但是走步骤二也没有任何效果,所以最直接有效的方法就只能是重装cocoaPods。下面我们开始:
    a:首先删除旧版本的cocoaPods

    1、卸载老版本
    $ sudo gem uninstall cocoapods
    
    2、查看本地安装过的cocoapods相关东西
    $ gem list --local | grep cocoapods
    
    实例显示如下
    cocoapods (1.4.0)
    cocoapods-core (1.4.0)
    cocoapods-deintegrate (1.0.2)
    cocoapods-downloader (1.1.3)
    cocoapods-plugins (1.0.0)
    cocoapods-search (1.0.0)
    cocoapods-stats (1.0.0)
    cocoapods-trunk (1.3.0)
    cocoapods-try (1.1.0)
    
    然后使用命令逐个删除
    $ sudo gem uninstall cocoapods-core
    $ sudo gem uninstall cocoapods-deintegrate
    
    删除完之后接下来安装RVM
    $ curl -L https://get.rvm.io | bash -s stable
    
    然后,载入 RVM 环境
    $ source ~/.rvm/scripts/rvm
    
    检查一下是否安装正确
    $ rvm -v
    rvm 1.27.0 (latest) by Wayne E. Seguin , Michal Papis [https://rvm.io/]
    
    用RVM安装Ruby环境
    可以先查询已经安装的ruby
    $ rvm list
    
    卸载一个已安装版本
    $ rvm remove 1.9.2
    
    列出已知的ruby版本
    $ rvm list known
    
    可以选择现有的rvm版本来进行安装
    $ rvm install 2.4.0
    

    执行到此处需要等上一段时间,但是此时会蹦出来Homebrew更新的问题:


    Homebrew.png

    所以,我们更新一下Homebrew:

    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    

    b:设置Ruby版本

    RVM 装好以后,需要执行下面的命令将指定版本的 Ruby 设置为系统默认版本
    
    $ rvm 2.4.0 --default
    输出:
    Using /Users/zhangzhangkai/.rvm/gems/ruby-2.4.0
    
    这个时候你可以测试是否正确
    $ ruby -v
    输出:
    ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-darwin16]
    

    c:查看并替换链接

    查询:
    
    $ gem sources -l
    
    可以查看当前是什么连接,然后替换方式如下:
    //默认链接
    $ gem source -r https://rubygems.org/
    //淘宝连接,有资料说淘宝链接不更新了,所以不太安全推荐使用下面的链接
    $ gem source -a https://ruby.taobao.org/
    推荐链接
    gem source -a http://gems.ruby-china.org/
    
    要想验证是否替换成功了,可以执行:
    $ gem sources -l
    成功显示
    *** CURRENT SOURCES ***
    
    http://gems.ruby-china.org/
    

    d:安装coocapods

    这里需要耐心等待一段时间
    $ sudo gem install cocoapods  
    $ pod setup
    

    至此,cocoapods安装完成。

    4、重装后遇到的问题
    现在,我们可以放心的上传项目到cocoapods了,但是又蹦出来找不到“simctl”的问题,莫名其秒,找了好一阵资料,是需要设置Xcode的Locations,问题如下图:


    simctl错误.png

    设置Locations:


    Locations.png
    完成设置之后,就可以正常上传项目到cocoapods啦。

    参考资料:

    cocoapods使用遇到的一般问题解决
    https://www.jianshu.com/p/1dea9987c647

    MacRVM安装ruby 2.0.0的时候出现错误
    http://blog.csdn.net/luohancc/article/details/46897247

    unable to find utility "simctl"的解决方案
    http://www.hudongdong.com/bug/772.html

    相关文章

      网友评论

          本文标题:删除cocoapods以及重装遇到的问题

          本文链接:https://www.haomeiwen.com/subject/ghzafftx.html