美文网首页iOS开发技术
安装CocoaPods过程以及遇到Error installin

安装CocoaPods过程以及遇到Error installin

作者: flowerflower | 来源:发表于2016-08-18 00:11 被阅读383次

    最近Cocoapods忽然间不知道怎么弄的,不知道是不是不小心删除了什么,导致无法pod第三方框架,提示为Setting up CocoaPods master repo ,一直没有反应。然后进入在终端输入cd ~/.cocoapods/,再次输入查看下载进度du -sh *,我几分钟查看一次发现刚开始是632k,有时候又到了1M,速度非常慢.
    隔天我又继续执行pod setup,结果Setting up CocoaPods master repo还是没响应,速度还是超级慢,
    于是突发奇想,叫装了cocoapods的同事把这个目录下~/.cocoapods/中的repos文件中打包发给我了。然后我替换下。然后在终端pod search AFNetworking提示[!] Unable to find a pod with name, author, summary, or description matchingAFNetworking.再次在终端敲入rm ~/Library/Caches/Cocoapods/search_index.json,然后退出终端,重新pod search AFNetworking`,就正常显示框架的所有信息了。查看了好多了关于装Cocoapods的资料,但是好多之前发表的,为此本人将最新的安装方式贴出来,一起学习学习。

    检查CocoaPods是否有问题,终端输入

    pod --version
    pod pod search AFNetworking
    如果这两项都没有什么问题的话,那就万事大吉了,如果情况不妙,则请看下面

    Cocoapods安装步骤

    • 1.先升级Gem
      sudo gem update --system

    • 2.切换cocoapods的数据源【先删除,再添加,查看】
      gem sources --remove https://rubygems.org/
      gem sources -a https://ruby.taobao.org/ (被废用,但目前也有人在用。如今大部分使用gem sources -a http://rubygems-china.oss.aliyuncs.com)
      gem sources -l(如果你不知道你安装的是哪种,可执行这条命令进行查询)

    • 3.安装cocoapods
      sudo gem install cocoapods
      或者(若10.11系统以上执行这条命令)sudo gem install -n /usr/local/bin cocoapods

    • 4.将Podspec文件托管地址从github切换到国内的oschina 【先删除,再添加,再更新】
      pod repo remove master
      pod repo add master http://git.oschina.net/akuandev/Specs.git
      pod repo add master https://gitcafe.com/akuandev/Specs.git
      pod repo update

    • 5.设置pod仓库
      pod setup

    • 6.测试
      【如果有版本号,则说明已经安装成功】
      pod --version

    • 7.安装完毕。如果懒的手动通过终端来添加第三方框架,可将Cocoapods集成到项目中,如图:

      Snip20160817_2.png
      到github官方中下载运行即可,github送上门重启Xcode即可。点击图上的'Create/Edit Podfile'即可编辑
    
    source 'https://github.com/CocoaPods/Specs.git'
    platform :ios, "SDK版本" 
    
    
    target ‘工程名’ do   
    pod '框架名'[, ‘~> 版本号’]
    
    end
    
    • 最后的最后:编辑完成后command+s保存,之后再点击Product->Cocoapods->Install Pods 完事。

    使用终端集成第三方框架

    • 打开终端 cd +空格+项目路径<将项目拽进去即可>
    • 再输入 pod init,项目路径下就有了Podfile
    Podfile
    • 最后终端输入pod install即可,这时就会自己创建.xcworkspace,之后就可以再这里面愉快敲敲了。。。。

    移除到重新安装

    • 更新cocoapods主支
      pod repo update
    • 移除
      sudo gem uninstall -n /usr/local/bin cocoapods
    • 安装
      sudo gem install -n /usr/local/bin cocoapods
    • 设置pod仓库
      pod setup
    • 查看安装版本(如果有版本号,则说明已经安装成功)
      pod version
    • 执行pod setup会出现Setting up CocoaPods master repo由下图看到占用内存的大小,这个过程下载可能会很慢,因为有网速好的应该会快点,网速不好的,建议使用替换这个方式,点击下载repos进行替换
      Snip20160817_1.png
    • 替换完成执行pod search AFNetworking,报错[!] Unable to find a pod with name, author, summary, or description matchingAFNetworking.`
    • 执行rm ~/Library/Caches/Cocoapods/search_index.json即可
    • 重新搜索pod search AFNetworking
      -OK完事!!!

    补充:
    错误:遇到 Error installing pods:activesupport requires Ruby version >=2.2.2


    Snip20160921_1.png

    解决方案 :
    1、安装 RVM baby 版本管理器
    $curl -L get.rvm.io | bash -s stable

    //等安装完成 出现下面这行提示以下

    In case of problems: https://rvm.io/helpandhttps://twitter.com/rvm_io
    

    执行
    $source ~/.bashrc
    $source ~/.bash_profile
    测试是否安装正常
    $rvm -v

    //提示以下

    rvm 1.27.0 (latest) by Wayne E. Seguin, Michal Papis[https://rvm.io/]
    

    2、用RVM升级Ruby查看当前ruby版本
    $ruby -v
    $rvm list known

    //提示以下

    # MRI Rubies
    [ruby-]1.8.6[-p420]
    [ruby-]1.8.7[-head] # security released on head
    [ruby-]1.9.1[-p431]
    [ruby-]1.9.2[-p330]
    [ruby-]1.9.3[-p551]
    [ruby-]2.0.0[-p648]
    [ruby-]2.1[.8]
    [ruby-]2.2[.4]
    [ruby-]2.3[.0]
    [ruby-]2.2-headruby-head
    
    # for forks use: rvm install ruby-head---url https://github.com/github/ruby.git --branch 2.2
    # JRuby
    

    3.安装ruby 2.2.2 执行
    $rvm install 2.2.2

    Snip20160921_4.png
    1. 继续安装 CocoaPods
      $sudo gem install cocoa pods
      $sudo gem install -n /usr/local/bin cocoapods
      $pod setup //可将~/.cocoapods/目录下中的repos替换掉如何替换看最最上面,半小时的事情,1分钟就搞定)。

    错误:集成第三方框架Cocoapods后
    后台打印:env: ruby_executable_hooks: No such file or directory

    Snip20160921_5.png

    解决措施:
    在终端输入 which ruby_executable_hooks 或 which GEM
    把得到的路径复制,打开Xcode-> Product-> cocoaPods - >GEM_PATH 粘贴刚才得到的路径 把最后的/gem/pod去掉(一定要把后面的/gem/pod去掉)

    截图:


    Snip20160921_6.png

    使用Cocoapods 没自动有生成.workspace文件

    把Xcode升级到8.1之后发现能集成第三方进去但是就是不生成.xcworkspace文件,不管是通过终端集成进去的还是通过第三方插件集成进去的,都不行,百度了好久,千遍一律的都是查一下版本 pod COMMAND --version 是是版本过低 需更新版本sudo gem install cocoa pods 我也试过了,然后行不通。
    行不通咋整??????

    另寻出路

    在终端输入pod search SDWebImage 显示

    Snip20161214_7.png

    那么问题来了。。。。

    问题显而易见,不用捉急。听俺娓娓道来

    替换repos文件即可。上面有链接下载。再点击桌面任意空白地方 command+shift+G<快键键> 输入 ~/.cocoapods/进入到此处。将下载的repos的文件解压替换即可 。
    最后终端再次输入pod search SDWebImage ,你会发现有一波僵尸进入

    Snip20161214_8.png

    最后只需要pod install就可以了。不管是用第三方还是使用终端。如果是使用终端 记得cd切换到当前目录下再pod install 。最后你会发现XXX.xcworkspace就这样悄无声息神奇般再次出现你的视线中。熟悉的感觉回来了!!!!!

    2018.4.20更新

    遇到的问题纠结的点请欣赏截图

    7C6A53A482A314214B192E3A3C855ACD.jpg

    pod search XX 有些搜索的到有些 搜索不到

    Why?Why?Why?

    解决措施
    删除~/Library/Caches/CocoaPods目录下的search_index.json文件即可

      1. 单击桌面 ->快捷键(command + shift + G)->输入路径~/Library/Caches/CocoaPods/search_index.json
      1. 终端输入rm ~/Library/Caches/CocoaPods/search_index.json
    • 3.删除成功后再执行pod search XXX

    再次欣赏截图


    图片.png

    注意

    由于刚移除search_index.json,第一次搜索时较慢,会出现Creating search index for spec repo 'master'.. Done!
    此时只需要静静等待一会即可。我貌似等了1-2分钟左右(跟公司网络有点关系)

    完美地绕过了我曾走过的所有坑坑。。。

    相关文章

      网友评论

      • unhangcorn:楼主 你的补充应该在前面提一下...
        flowerflower:@unhangcorn 你今天遇上这个困难了吗
        unhangcorn:@flowerflower 这个
        补充:
        错误:遇到 Error installing pods:activesupport requires Ruby version >=2.2.2
        flowerflower:@unhangcorn 啥补充?

      本文标题:安装CocoaPods过程以及遇到Error installin

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