zoukankan      html  css  js  c++  java
  • iOS工具】rvm、Ruby环境和CocoaPods安装使用及相关报错问题解决

    〇、前言

    <p>
    在iOS开发中 CocoaPods作为库依赖管理工具就是一把利器。

    有了 CocoaPods则无需再通过拖 第三方库及第三方库所依赖的 framework静态库到项目中等麻烦的操作,仅仅只需要通过终端(Terminal)输入一些指令即可完成这些操作;而且涉及到第三方库的更新升级也可以通过 CocoaPods进行手动管理更新。

    方便快捷!赶快行动起来吧!!!

    一、Homebrew、Rvm、Ruby、CocoaPods 简介

    • 1、官网及相关链接

    Rvm 官网: https://www.rvm.io/
    Ruby 官网https://rubygems.org/
    CocoaPods 官网https://cocoapods.org/
    Rvm 安装指南https://rvm.io/rvm/install
    Homebrew 官网http://brew.sh/index_zh-cn.html
    ruby 镜像 - taobaohttps://ruby.taobao.org/
    ruby 镜像 - chinahttps://gems.ruby-china.org/

    • 2、Homebrew 介绍

      • Homebrew是一个软件包管理器,用于在mac上安装一些os x上没有的UNiX工具;类似于360软件管理器。
    • 3、Rvm 介绍

      • Rvm全称 Ruby Version Manager,是安装和管理 ruby的一种工具。
      • 摘录:RVM is a command-line tool which allows you to easily install, manage, and work with multiple ruby environments from interpreters to sets of gems.
    • 4、Ruby 介绍

      • Ruby是一种面向对象的脚本语言,简单易用,功能强大。能跨平台和可移植性好等等。其实就是种脚本语言。
      • Ruby的软件源使用的是亚马逊的云服务,国内网络环境下载时可能会出现各种不稳定和超时,所以自带的需要翻墙,可以将 官方 ruby 源替换成国内 淘宝 ruby 源https://ruby.taobao.org/)或者是由 China ruby 源https://gems.ruby-china.org/)。据消息了解,2016.06 淘宝源暂停维护了,建议使用 China ruby 源
    • 5、CocoaPods 介绍

      • CocoaPods是 iOS 最常用的第三方类库管理工具,绝大部分有名的开源类库都支持 CocoaPods
      • CocoaPods是用 ruby实现的,要想使用它首先需要有 ruby的环境。幸运的是OS X系统默认已经可以运行 ruby了。但是有时候 ruby版本过低是无法正常支持 CocoaPods的使用,所以需要先安装更新升级 rvm和 ruby

    二、CocoaPods 安装使用

    • 1、检查安装 rvm 环境( 正常情况可直接略过此步骤 )

      • 检查当前 rvm环境( 此处检查是否存在 rvm环境 ):
    $ rvm -v
    
    `输出结果:( 存在 rvm 环境)`
    muxuguixiandeMacBook-Pro:~ jijiucheng$ rvm -v
    rvm 1.27.0 (latest) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]
    
    `输出结果:(不存在 rvm 环境)`
    muxuguixiandeMacBook-Pro:~ jijiucheng$ rvm -v
    -bash: rvm: command not found
    
    • 情况一:如果不存在 rvm环境,先安装配置 rvm环境;
    ① 期间可能会问你 `sudo管理员` 密码,以及自动通过 `homebrew` 安装依赖包;
    等待一段时间后就可以成功安装好 `rvm`。
    
    $ curl -L https://get.rvm.io | bash -s stable
    
    输出结果:(下载安装)(显示的 `` 代表一行空格)
    muxuguixiandeMacBook-Pro:~ jijiucheng$ curl -L https://get.rvm.io | bash -s stable
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current Dload  Upload   Total   Spent    Left  Speed
    100   184  100   184    0     0     93      0  0:00:01  0:00:01 --:--:--    93
    100 22865  100 22865    0     0   8964      0  0:00:02  0:00:02 --:--:--  710k
    Downloading https://github.com/rvm/rvm/archive/1.27.0.tar.gz
    Downloading https://github.com/rvm/rvm/releases/download/1.27.0/1.27.0.tar.gz.asc
    Found PGP signature at: 'https://github.com/rvm/rvm/releases/download/1.27.0/1.27.0.tar.gz.asc',
    but no GPG software exists to validate it, skipping.
    ``
    `Installing RVM to /Users/smalllufeinj/.rvm/`
        Adding rvm PATH line to /Users/smalllufeinj/.profile /Users/smalllufeinj/.mkshrc /Users/smalllufeinj/.bashrc /Users/smalllufeinj/.zshrc.
        Adding rvm loading line to /Users/smalllufeinj/.profile /Users/smalllufeinj/.bash_profile /Users/smalllufeinj/.zlogin.
    `Installation of RVM in /Users/smalllufeinj/.rvm/ is almost complete:`
    ``
      .* To start using RVM you need to run `source /Users/smalllufeinj/.rvm/scripts/rvm`
        in all your open shell windows, in rare cases you need to reopen all shell windows.
    ``
    # muxuguixian,
    #
    #   Thank you for using RVM!
    #   We sincerely hope that RVM helps to make your life easier and more enjoyable!!!
    #
    # ~Wayne, Michal & team.
    ``
    In case of problems: https://rvm.io/help and https://twitter.com/rvm_io
    
     
    下载安装 rvm 环境.png
    ② 然后,载入 RVM 环境(新开 Termal 就不用这么做了,会自动重新载入的)。
    
    $ source ~/.rvm/scripts/rvm
    
    输出结果:(^_^)(什么都没有输出)
    muxuguixiandeMacBook-Pro:~ jijiucheng$ source ~/.rvm/scripts/rvm
    
    ③ 再次检查 rvm 是否安装正确。
    
    $ rvm -v
    
    `输出结果:( 存在 rvm 环境)`
    muxuguixiandeMacBook-Pro:~ jijiucheng$ rvm -v
    rvm 1.27.0 (latest) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]
    
    • 情况二:如果存在 rvm环境,用 rvm安装 ruby环境;
    • 当 ruby版本低于 2.2.2时,安装 CocoaPods会报错;为防止 ruby版本过低,建议先升级 ruby环境,建议升级到 2.3.0版本以上。【可以通过 $ ruby -v指令检查当前 ruby 版本】
      ① 查询已知的 ruby 环境。
    
    $ rvm list known
    
    输出结果:(显示的 `` 代表一行空格)
    muxuguixiandeMacBook-Pro:~ jijiucheng$ 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-head
    ruby-head
    ``
    # for forks use: rvm install ruby-head-<name> --url https://github.com/github/ruby.git --branch 2.2
    ``
    # JRuby
    jruby-1.6[.8]
    jruby-1.7[.23]
    jruby[-9.0.5.0]
    jruby-head
    ``
    # Rubinius
    rbx-1[.4.3]
    rbx-2.3[.0]
    rbx-2.4[.1]
    rbx[-2.5.8]
    rbx-head
    ``
    # Opal
    opal
    ``
    # Minimalistic ruby implementation - ISO 30170:2012
    mruby[-head]
    ``
    # Ruby Enterprise Edition
    ree-1.8.6
    ree[-1.8.7][-2012.02]
    ``
    # GoRuby
    goruby
    ``
    # Topaz
    topaz
    ``
    # MagLev
    maglev[-head]
    maglev-1.0.0
    ``
    # Mac OS X Snow Leopard Or Newer
    macruby-0.10
    macruby-0.11
    macruby[-0.12]
    macruby-nightly
    macruby-head
    ``
    # IronRuby
    ironruby[-1.1.3]
    ironruby-head
    
     
    查询已知的 ruby 环境 .png
    ② 指定 ruby 版本进行更新( 此处按照 ruby 2.3.0 版本进行更新 )。
    
    $ rvm install 2.3.0
    
    输出结果:( 此处因为终端输出的字符过多,所以此处用截图方式 )
    
     
    指定 ruby 版本进行更新 .png
    ③ 第二步需要一段时间等待,完成后此时 rvm 环境就配置好了;Ruby Gems 就安装好了。
    
    ④ 补充相关指令:
    

    查询已安装的 ruby:

    $ rvm list
    

    卸载一个已安装版本:

    $ rvm remove 1.9.2
    
    • 2、检查更新 ruby 版本环境(正常情况下从此步骤开始)

      • CocoaPods是用 gem ruby实现的,要想使用它首先需要有 gem ruby的环境。且 MAC 的 OS X系统默认已经可以运行 ruby
      • 此处建议 gem ruby包环境升级到 2.6.x以上。
      • 检查 gem ruby版本号:
    $ sudo gem -v
    
    检查结果:( 默认情况下版本应该较低,建议升级到 )
    muxuguixiandeMacBook-Pro:local jijiucheng$ gem -v
    2.5.1
    
    • 更新 gem ruby版本号:
    $ sudo gem update --system
    
    更新成功:( 实际打印可能与此不同,但是成功了就会显示 Successfully )
    muxuguixiandeMacBook-Pro:local jijiucheng$ gem update --system
    Updating rubygems-update
    Fetching: rubygems-update-2.6.7.gem (100%)
    Successfully installed rubygems-update-2.6.7
    
    此种提示:( 表示已经是最新的 gem ruby 环境 )
    muxuguixiandeMacBook-Pro:~ jijiucheng$ gem update --system
    Latest version currently installed. Aborting.
    
    • 检查 ruby 源
    $ gem sources -l
    
    检查结果:( 如果电脑没安装过 CocoaPods,此时应该是默认 ruby 源 )
    muxuguixiandeMacBook-Pro:~ jijiucheng$ gem sources -l
    *** CURRENT SOURCES ***
    https://rubygems.org/
    
    • 移除 ruby 源
    $ gem sources --remove https://rubygems.org/
    
    移除结果:
    muxuguixiandeMacBook-Pro:local jijiucheng$ gem sources --remove https://rubygems.org/
    https://rubygems.org/ removed from sources
    
    • 替换添加国内镜像源 ruby-china 源,因为上面已经提到国内镜像源 taobao 源已经停止维护了,所以此处替换的是 ruby-china 源,且尽量确保只有一个 ruby-china 源
      备注:https://gems.ruby-china.org已废弃,改为https://gems.ruby-china.com
    $ gem sources --add https://gems.ruby-china.com
    
    替换结果:
    muxuguixiandeMacBook-Pro:local jijiucheng$ gem sources --add https://gems.ruby-china.com
    https://gems.ruby-china.com added to sources
    
    再次检查此时的 ruby 源:( 已经变成了 ruby-china 源 )
    muxuguixiandeMacBook-Pro:local jijiucheng$ gem sources -l
    *** CURRENT SOURCES ***
    https://gems.ruby-china.com
    
    • 3、安装 CocoaPods

      • 安装 CocoaPods( sudo 表示管理员执行指令)( 此处需要输入一次密码
    $ sudo gem install cocoapods
    
    `注意点:<------------------------------> 此处有个注意点`
    由于 OS X 系统的不同,此处的指令也是有些变化:
    OS X 10.11之前系统的安装 CocoaPods 指令: $ sudo gem install cocoapods
    OS X 10.11以后系统的安装 CocoaPods 指令: $ sudo gem install -n /usr/local/bin cocoa pods
    
    安装结果:(正常情况打印没有这么多,此处是因为解决报错时,同时打印了这么多)
    muxuguixiandeMacBook-Pro:local jijiucheng$ sudo gem install cocoa pods
    Password:   <----------------------------------->  // 此处需要输入一次密码 
    Fetching: ffi-1.9.14.gem (100%)
    Building native extensions.  This could take a while...
    Successfully installed ffi-1.9.14
    Fetching: thread_safe-0.3.5.gem (100%)
    Successfully installed thread_safe-0.3.5
    Fetching: tzinfo-1.2.2.gem (100%)
    Successfully installed tzinfo-1.2.2
    Fetching: i18n-0.7.0.gem (100%)
    Successfully installed i18n-0.7.0
    Fetching: concurrent-ruby-1.0.2.gem (100%)
    Successfully installed concurrent-ruby-1.0.2
    Fetching: activesupport-5.0.0.1.gem (100%)
    Successfully installed activesupport-5.0.0.1
    Fetching: cocoa-0.1.6.gem (100%)
    Successfully installed cocoa-0.1.6
    Parsing documentation for ffi-1.9.14
    Installing ri documentation for ffi-1.9.14
    Parsing documentation for thread_safe-0.3.5
    Installing ri documentation for thread_safe-0.3.5
    Parsing documentation for tzinfo-1.2.2
    Installing ri documentation for tzinfo-1.2.2
    Parsing documentation for i18n-0.7.0
    Installing ri documentation for i18n-0.7.0
    Parsing documentation for concurrent-ruby-1.0.2
    Installing ri documentation for concurrent-ruby-1.0.2
    Parsing documentation for activesupport-5.0.0.1
    Installing ri documentation for activesupport-5.0.0.1
    Parsing documentation for cocoa-0.1.6
    Installing ri documentation for cocoa-0.1.6
    Done installing documentation for ffi, thread_safe, tzinfo, i18n, concurrent-ruby, activesupport, cocoa after 34 seconds
    Fetching: pods-0.0.1.gem (100%)
    Successfully installed pods-0.0.1
    Parsing documentation for pods-0.0.1
    Installing ri documentation for pods-0.0.1
    Done installing documentation for pods after 0 seconds
    8 gems installed
    <------------------ 此处有 gems installed 标志着安装 CocoaPods 成功 ------------------>
    
     
    安装 CocoaPods .png
    • 正常情况下此处会出现很大的坑,经常会出现各种报错问题,大多数是为 ruby环境过低没有更新升级,或者是牵扯到 rvm管理器环境的问题,在后面各种报错问题的解决方案的中会有提到。
    • 4、配置 CocoaPods 环境

      • 说明:此处为了做测试,在 MAC 桌面 Desktop创建了一个工程 CocoaPodsTestDemo

      • 第一步cd到目录文件夹,回车 enter( 快速方式:直接将文件夹拖入到终端 Terminal)。

    $ cd /Users/jijiucheng/Desktop/CocoaPodsTestDemo 
    
    输入结果:((^_^)此时没有任何结果 )
    muxuguixiandeMacBook-Pro:~ jijiucheng$ cd /Users/jijiucheng/Desktop/CocoaPodsTestDemo 
    
    • 第二步(建议):如果不知道第三方库版本的情况下,建议先查找一下当前所需第三方库的最新版本,可以通过输入指令的方式完成。并且查询完成后输入 wq返回之前终端 Terminal页面。
    $ pod search 'AFNetworking'
    
    查询结果:(因为会查询输出所有与 'AFNetworking' 相关的第三方库,此处只输出部分,其中下面的“横线”代替实际打印的一行空格)
    muxuguixiandeMacBook-Pro:~ jijiucheng$ cd /Users/jijiucheng/Desktop/CocoaPodsTestDemo 
    muxuguixiandeMacBook-Pro:CocoaPodsTestDemo jijiucheng$ pod search 'AFNetworking'
    --------------------------(此处是输出结果)--------------------------
    -> AFNetworking (3.1.0)
       A delightful iOS and OS X networking framework.
       pod 'AFNetworking', '~> 3.1.0'
       - Homepage: https://github.com/AFNetworking/AFNetworking
       - Source:   https://github.com/AFNetworking/AFNetworking.git
       - Versions: 3.1.0, 3.0.4, 3.0.3, 3.0.2, 3.0.1, 3.0.0, 3.0.0-beta.3,
       3.0.0-beta.2, 3.0.0-beta.1, 2.6.3, 2.6.2, 2.6.1, 2.6.0, 2.5.4, 2.5.3, 2.5.2,
       2.5.1, 2.5.0, 2.4.1, 2.4.0, 2.3.1, 2.3.0, 2.2.4, 2.2.3, 2.2.2, 2.2.1, 2.2.0,
       2.1.0, 2.0.3, 2.0.2, 2.0.1, 2.0.0, 2.0.0-RC3, 2.0.0-RC2, 2.0.0-RC1, 1.3.4,
       1.3.3, 1.3.2, 1.3.1, 1.3.0, 1.2.1, 1.2.0, 1.1.0, 1.0.1, 1.0, 1.0RC3, 1.0RC2,
       1.0RC1, 0.10.1, 0.10.0, 0.9.2, 0.9.1, 0.9.0, 0.7.0, 0.5.1 [master repo]
       - Subspecs:
         - AFNetworking/Serialization (3.1.0)
         - AFNetworking/Security (3.1.0)
         - AFNetworking/Reachability (3.1.0)
         - AFNetworking/NSURLSession (3.1.0)
         - AFNetworking/UIKit (3.1.0)
    ......(后面还有好多与 'AFNetworking' 相关的第三方库,此处不一一列举)
    
     
    搜索 'AFNetworking' 打印结果.png
    • 第三步:创建 Podfile 配置文件
    $ vim Podfile
    
    回车跳转界面(如下):
    
     
    指令 vim Podfile 后跳转界面 .png
    ① 键盘输入 i ,进入 Podfile 配置文件的编辑模式,底部会变成 :
    -- INSERT --
    
    Podfile 配置文件编辑模式(如下):
    
     
    Podfile 配置文件编辑模式 .png
    ② 通过固定语句编辑进行 Podfile 文件的配置:
    
    Podfile 配置文件固定语句(如下):
    ```说明:可能有些人看到的固定语句不一样,但是大同小异,基本上都能实现最终效果。`
    ---> 
    # Uncomment this line to define a global platform for your project
    platform :ios, '8.0'
    target 'CocoaPodsTestDemo' do
      # Uncomment this line if you're using Swift or would like to use dynamic frameworks
      # Pods for CocoaPodsTestDemo
         pod 'AFNetworking', '~>3.1.0'
         pod 'SDWebImage'
         pod 'MBProgressHUD'
         pod 'FMDB'
         pod 'Masonry'
         pod 'MJExtension'
         pod 'MJRefresh'
    # use_frameworks!
    # pod 'ReactiveCocoa'
    end
    
     
    Podfile 配置文件固定语句 .png
    ③ 当固定语句输入完毕之后,按一次 `Esc` 按键退出编辑模式,底部就没有 `-- INSERT --` 标识了;
    再按一次 `shift + :` ( 英文输入法状态下 )组合,底部就会出现一个 `冒号 :` ;
    最后再输入 `wq` 回车,返回到配置 Podfile 文件之前的界面;
    此时 Podfile 文件就配置好了;
    此时可以在 `CocoaPodsTestDemo` 文件夹下发现多了一个 `Podfile` 文件。
    
    Podfile 输入完毕之后(如下):
    
     
    Podfile 输入完毕之后 .png

     
    配置文件完成后新增 Podfile 文件 .png
    • 第四步:下载第三方库文件到项目工程中
    $ pod install
    
    下载输出(如下):
    muxuguixiandeMacBook-Pro:CocoaPodsTestDemo jijiucheng$ pod install
    Analyzing dependencies
    Downloading dependencies
    Installing AFNetworking (3.1.0)
    Installing FMDB (2.6.2)
    Installing MBProgressHUD (1.0.0)
    Installing MJExtension (3.0.13)
    Installing MJRefresh (3.1.12)
    Installing Masonry (1.0.2)
    Installing SDWebImage (3.8.2)
    Generating Pods project
    Integrating client project
    [!] Please close any current Xcode sessions and use `CocoaPodsTestDemo.xcworkspace` for this project from now on.
    Pod installation complete! There are 7 dependencies from the Podfile and 7 total pods
    installed.
    
     
    下载第三方库文件到项目工程中 .png

     
    安装 CocoaPods 成功后项目文件变化 .png
    • 第五步:此后打开项目工程只需要点击打开 CocoaPodsTestDemo.xcworkspace文件即可
    打开工程文件目录变化(如下):
    所有的第三方库文件都在 `/CocoaPodsTestDemo/Pods/Pods` 文件夹目录下
    
     
    打开工程文件目录变化 .png

    三、CocoaPods 安装过程中报错问题解决

    • 说明:此部分所列举的问题均是在执行相关指令时出现的报错
    • 1、Rvm 环境搭建

      • 报错一:
        ① Error running 'requirements_osx_brew_update_system ruby-2.3.0', showing last 15 lines of /Users/jijiucheng/.rvm/log/1475769205_ruby-2.3.0/update_system.log
        ② curl: (35) Server aborted the SSL handshake

    ① 报错指令:

    $ rvm install 2.3.0
    

    ② 报错信息:

    Error running 'requirements_osx_brew_update_system ruby-2.3.0',
    showing last 15 lines of /Users/jijiucheng/.rvm/log/1475769205_ruby-2.3.0/update_system.log
    ......
    ......
    Requirements installation failed with status: 1.
    
    curl: (35) Server aborted the SSL handshake
    
     
    报错信息 1.png

     
    报错信息 2.png

    ③ 报错原因:
    网络问题,因为需要翻墙,所以网络不稳定;建议选择 VPN,保证线路的稳定性。

    ④ 解决方案( 指令一行一行输入 ):

    $ cd /usr/local
    
    $ git remote set-url origin git://mirrors.ustc.edu.cn/brew.git
    
    $ echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.bashrc
    
     
    解决方案 .png

    ⑤ 方案链接:
    方案解决链接 -- https://segmentfault.com/q/1010000004276750
    • 报错二:
      ① Error running '__rvm_make -j 1',
      showing last 15 lines of /Users/jijiucheng/.rvm/log/1475769349_ruby-2.3.0/make.log

    ① 报错指令:

    $ rvm install 2.3.0
    

    ② 报错信息:

    Error running '__rvm_make -j 1',
    showing last 15 lines of /Users/jijiucheng/.rvm/log/1475769349_ruby-2.3.0/make.log
    ......
    ......
    There has been an error while running make. Halting the installation.
    
     
    报错信息 .png

    ③ 报错原因:
    缺少 Xcode 工具,xcode command line

    ④ 解决方案:

    $ xcode-select --install
    
     
    解决方案 .png

    ⑤ 方案链接:
    方案解决链接 1 - http://stackoverflow.com/questions/35228481/error-running-rvm-make-install
    方案解决链接 2 - http://www.th7.cn/Program/Ruby/201609/966343.shtml
    • 报错三:
      ① Gemset '' does not exist, 'rvm ruby-2.3.0 do rvm gemset create ' first, or append '--create'.

    ① 报错指令:

    $ rvm install 2.3.0
    

    ② 报错信息:

    muxuguixiandeMacBook-Pro:local jijiucheng$ rvm install 2.3.0
    Already installed ruby-2.3.0.
    To reinstall use:
    .
        rvm reinstall ruby-2.3.0
    .
    Gemset '' does not exist, 'rvm ruby-2.3.0 do rvm gemset create ' first, or append '--create'.
    
     
    报错信息 .png

    ③ 报错原因:
    指令不对,已经存在 ruby-2.3.0 的文件残留,需要重新安装;

    ④ 解决方案:

    $ rvm reinstall ruby-2.3.0
    
     
    解决方案 .png
    • 2、Ruby 环境搭建

      • 报错一:
    • 3、CocoaPods 安装

    • 4、CocoaPods 配置使用

      • 报错一:
        ① Setting up CocoaPods master repo
        ② [!] Unable to add a source with url https://github.com/CocoaPods/Specs.gitnamed master. You can try adding it manually in ~/.cocoapods/reposor via pod repo add.

    ① 报错指令:

    $ pod install
    

    ② 报错信息:

    muxuguixiandeMacBook-Pro:NFCustomer jijiucheng$ pod install
    Setting up CocoaPods master repo
    [!] Unable to add a source with url `https://github.com/CocoaPods/Specs.git` named `master`.
    You can try adding it manually in `~/.cocoapods/repos` or via `pod repo add`.
    
     
    报错信息 .png

    ③ 报错原因:
    由于安装了多个Xcode导致路径变了,需要变换路径: sudo xcode-select -switch /Applications/Xcode.app sudo xcode-select -switch /Applications/Xcode 2.app

    ④ 解决方案:

    $ sudo xcode-select -switch /Applications/Xcode.app
    
     
    解决方案 .png

    ⑤ 资料补充:
    出现 Setting up CocoaPods master repo,说明 Cocoapods 在将它的信息下载到 ~/.cocoapods 里; 新创建终端窗口,输入 cd ~/.cocoapods ,回车,输入 du -sh * 命令来查看文件大小, 每隔几分钟查看一次,这个目录最终大小是100多M( 本人这里大概 800M + ),就是完成了。

    ⑥ 方案链接:
    方案解决链接 1 - ios开发怎样卸载已经安装的cocoapod
    方案解决链接 2 - CocoaPods安装和使用及问题:Setting up CocoaPods master repo

    四、资料补充

    • 1、指令补全

      • ① Rvm 指令库
    $ ruby -v                     #  查看ruby 版本 
    $ rvm list known              #  列出已知的 ruby 版本
    $ rvm install 2.3.0           #  选择指定 ruby 版本进行更新 
    $ rvm get stable              #  更新 rvm
    $ rvm use 2.2.2               #  切换到指定 ruby 版本
    $ rvm use 2.2.2 --default     #  设置指定 ruby 版本为默认版本  
    $ rvm list                    #  查询已安装的 ruby 版本 
    $ rvm remove 1.9.2            #  卸载移除 指定 ruby 版本 
    
    $ curl -L https://get.rvm.io | bash -s stable                    #  安装 rvm 环境
    $ curl -sSL https://get.rvm.io | bash -s stable --ruby           #  默认安装 rvm 最新版本
    $ curl -sSL https://get.rvm.io | bash -s stable --ruby=2.3.0     #  安装 rvm 指定版本
    $ source ~/.rvm/scripts/rvm                                      #  载入 rvm 
    
    • ② gem 指令库
    $ gem -v                                  #  查看 gem 版本
    $ gem source                              #  查看 gem 配置源
    $ gem source -l                           #  查看 gem 配置源目录
    $ gem sources -a url                      #  添加 gem 配置源(url 需换成网址)
    $ gem sources --add url                   #  添加 gem 配置源(url 需换成网址)
    $ gem sources -r url                      #  删除 gem 配置源(url 需换成网址)
    $ gem sources --remove url                #  删除 gem 配置源(url 需换成网址)
    $ gem update                              #  更新 所有包
    $ gem update --system                     #  更新 Ruby Gems 软件
    $
    $ gem install rake                        #  安装 rake,从本地或远程服务器
    $ gem install rake --remote               #  安装 rake,从远程服务器
    $ gem install watir -v 1.6.2              #  安装 指定版本的 watir
    $ gem install watir --version 1.6.2       #  安装 指定版本的 watir
    $ gem uninstall rake                      #  卸载 rake 包
    $ gem list d                              #  列出 本地以 d 打头的包
    $ gem query -n ''[0-9]'' --local          #  查找 本地含有数字的包
    $ gem search log --both                   #  查找 从本地和远程服务器上查找含有 log 字符串的包
    $ gem search log --remoter                #  查找 只从远程服务器上查找含有 log 字符串的包
    $ gem search -r log                       #  查找 只从远程服务器上查找含有log字符串的包
    $
    $ gem help                                #  提醒式的帮助
    $ gem help install                        #  列出 install 命令 帮助
    $ gem help examples                       #  列出 gem 命令使用一些例子
    $ gem build rake.gemspec                  #  把 rake.gemspec 编译成 rake.gem
    $ gem check -v pkg/rake-0.4.0.gem         #  检测 rake 是否有效
    $ gem cleanup                             #  清除 所有包旧版本,保留最新版本
    $ gem contents rake                       #  显示 rake 包中所包含的文件
    $ gem dependency rails -v 0.10.1          #  列出 与 rails 相互依赖的包
    $ gem environment                         #  查看 gem 的环境
    $
    $ sudo gem -v                             #  查看 gem 版本(以管理员权限)
    $ sudo gem install cocoa pods             #  安装 CocoaPods(以管理员权限)
    $ sudo gem install cocoapods              #  安装 CocoaPods(以管理员权限)
    $ sudo gem install cocoapods --pre        #  安装 CocoaPods 至预览版(以管理员权限)
    $ sudo gem install cocoapods -v 0.39.0    #  安装 CocoaPods 指定版本(以管理员权限)
    $ sudo gem update cocoapods               #  更新 CocoaPods 至最新版(以管理员权限)
    $ sudo gem update cocoapods --pre         #  更新 CocoaPods 至预览版(以管理员权限)
    $ sudo gem uninstall cocoapods -v 0.39.0  #  移除 CocoaPods 指定版本(以管理员权限)
    
    • ③ pod 指令库
    $ pod setup                         #  CocoaPods 将信息下载到~/.cocoapods/repos 目录下。如果安装 CocoaPods 时不执行此命令,在初次执行 pod intall 命令时,系统也会自动执行该指令
    $ pod --version                     #  检查 CocoaPods 是否安装成功及其版本号
    $ pod install                       #  安装 CocoaPods 的配置文件 Podfile
    




    五、引用资料

    • 说明:此处是列举了我安装CocoaPods 和写这篇文章时查询引用的文章,如有涉及到版权问题,请联系,我会删除的。

    六、后续更新

    • 2016.12.15 问题更新

    • 安装 CocoaPods 步骤指令问题

    ① 最初写的:

    由于 OS X 系统的不同,此处的指令也是有些变化:
    OS X 10.11之前系统的安装 CocoaPods 指令: $ sudo gem install cocoapods
    OS X 10.11以后系统的安装 CocoaPods 指令: $ sudo gem install -n /usr/local/bin cocoa pods
    

    ② 更改原因:
    因为有朋友说在 mac OS 10.11和 mac OS 10.12环境中所用的指令不一样,当时写这篇文章的时候环境是 mac OS 10.11,但是并没有做 mac OS 10.12的环境,今天又做了一下测试,现在的环境是 mac OS 10.12.1

     
    测试环境 mac OS 10.12.1.png

    ③ 测试结果:
    ----> 指令: ----> $ sudo gem install cocoa pods ----> 不需要密码
     
    指令:$ sudo gem install cocoa pods 测试结果.png](//upload-images.jianshu.io/upload_images/711060-77bee925cb289a85.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) `----> 指令: ----> $ sudo gem install cocoapods ----> 需要密码 ` ![指令:$ sudo gem install cocoapods 测试结果.png](//upload-images.jianshu.io/upload_images/711060-ba1476d9a9075c4c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) `----> 指令: ----> $ sudo gem install -n /usr/local/bin cocoa pods ----> 需要密码 ` ![指令:$ sudo gem install -n /usr/local/bin cocoa pods 测试结果.png

    ④ 测试结论:
    三种结果都能安装 Cocoapods 成功,只不过安装更新的内容略有不同。 推荐使用:指令:$ sudo gem install cocoapods




    2018.04.08 更新

    • 1、报错信息

    RuntimeError - [Xcodeproj] Unknown object version.

    RuntimeError - [Xcodeproj] Unknown object version.
    /usr/local/lib/ruby/gems/2.3.0/gems/xcodeproj-1.5.1/lib/xcodeproj/project.rb:217:in `initialize_from_file'
    /usr/local/lib/ruby/gems/2.3.0/gems/xcodeproj-1.5.1/lib/xcodeproj/project.rb:102:in `open'
    /usr/local/lib/ruby/gems/2.3.0/gems/cocoapods-1.3.1/lib/cocoapods/installer/analyzer.rb:903:in `block (2 levels) in inspect_targets_to_integrate'
    /usr/local/lib/ruby/gems/2.3.0/gems/cocoapods-1.3.1/lib/cocoapods/installer/analyzer.rb:902:in `each'
    /usr/local/lib/ruby/gems/2.3.0/gems/cocoapods-1.3.1/lib/cocoapods/installer/analyzer.rb:902:in `block in inspect_targets_to_integrate'
    /usr/local/lib/ruby/gems/2.3.0/gems/cocoapods-1.3.1/lib/cocoapods/user_interface.rb:64:in `section'
    /usr/local/lib/ruby/gems/2.3.0/gems/cocoapods-1.3.1/lib/cocoapods/installer/analyzer.rb:897:in `inspect_targets_to_integrate'
    /usr/local/lib/ruby/gems/2.3.0/gems/cocoapods-1.3.1/lib/cocoapods/installer/analyzer.rb:69:in `analyze'
    /usr/local/lib/ruby/gems/2.3.0/gems/cocoapods-1.3.1/lib/cocoapods/installer.rb:242:in `analyze'
    /usr/local/lib/ruby/gems/2.3.0/gems/cocoapods-1.3.1/lib/cocoapods/installer.rb:154:in `block in resolve_dependencies'
    /usr/local/lib/ruby/gems/2.3.0/gems/cocoapods-1.3.1/lib/cocoapods/user_interface.rb:64:in `section'
    /usr/local/lib/ruby/gems/2.3.0/gems/cocoapods-1.3.1/lib/cocoapods/installer.rb:153:in `resolve_dependencies'
    /usr/local/lib/ruby/gems/2.3.0/gems/cocoapods-1.3.1/lib/cocoapods/installer.rb:116:in `install!'
    /usr/local/lib/ruby/gems/2.3.0/gems/cocoapods-1.3.1/lib/cocoapods/command/install.rb:41:in `run'
    /usr/local/lib/ruby/gems/2.3.0/gems/claide-1.0.2/lib/claide/command.rb:334:in `run'
    /usr/local/lib/ruby/gems/2.3.0/gems/cocoapods-1.3.1/lib/cocoapods/command.rb:52:in `run'
    /usr/local/lib/ruby/gems/2.3.0/gems/cocoapods-1.3.1/bin/pod:55:in `<top (required)>'
    /usr/local/bin/pod:22:in `load'
    /usr/local/bin/pod:22:in `<main>'
    
    ――― TEMPLATE END ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
    
    [!] Oh no, an error occurred.
    
    • 2、报错原因
    主要原因就是 Xcode 当前版本和 当前的 CocoaPods 的版本问题不匹配,需要对当前 CocoaPods 进行安装更新。
    
    博主当前 Xcode Version 9.3 (9E145) ;
    gem -v             2.6.6
    
    • 3、解决办法
    方法一:
    ① 终端执行   gem install cocoapods --pre  命令;
    ② cd 对应项目目录,pod install。
    
    方法二:
    ① 终端执行 sudo gem update cocoapods 命令。
    






    2018.07.23 更新

    • 1、报错信息
    jijiuchengdeMacBook-Pro:lemon-ios jijiucheng$ pod install
    Analyzing dependencies
    Downloading dependencies
    Using AFNetworking (3.2.1)
    Using Bugly (2.5.0)
    Using FMDB (2.7.2)
    Using IQKeyboardManager (6.0.4)
    Installing JJCTools (0.1.8)
    
    [!] Error installing JJCTools
    [!] /usr/bin/git clone https://github.com/jijiucheng/JJCTools.git /var/folders/g6/t4gwthjn1w3f8pyy0kv_fj800000gn/T/d20180723-35368-1q363aj --template= --single-branch --depth 1 --branch 0.1.8
    
    Cloning into '/var/folders/g6/t4gwthjn1w3f8pyy0kv_fj800000gn/T/d20180723-35368-1q363aj'...
    error: RPC failed; curl 56 LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 54
    fatal: The remote end hung up unexpectedly
    fatal: early EOF
    fatal: unpack-objects failed
    
    
    [!] Automatically assigning platform `ios` with version `8.0` on target `lemon` because no platform was specified. Please specify a platform for this target in your Podfile. See `https://guides.cocoapods.org/syntax/podfile.html#platform`.
    
    • 2、解决办法
    因为本人使用的是 SourceTree,所以本人是在具体项目界面的,点击右上角 Settings --> Remotes --> Edit Config File... --> 输入 `[http] 
            postBuffer = 524288000`  增大缓存空间。
    
    保存后再次 pod install 则解决了。
    
    另外见到一种方法,但是没有测试:
    
    git clone https://git.coding.net/CocoaPods/Specs.git ~/.cocoapods/repos/master
    




    2018.10.10 更新

    • 1、报错信息
    jijiuchengdeMacBook-Pro:~ jijiucheng$ gem sources -l
    *** CURRENT SOURCES ***
    
    https://rubygems.org/
    jijiuchengdeMacBook-Pro:~ jijiucheng$ gem sources --remove https://rubygems.org/
    https://rubygems.org/ removed from sources
    jijiuchengdeMacBook-Pro:~ jijiucheng$ gem sources --add https://gems.ruby-china.org
    Error fetching https://gems.ruby-china.org:
        bad response Not Found 404 (https://gems.ruby-china.org/specs.4.8.gz)
    
    • 2、解决办法
    `gem sources --add https://gems.ruby-china.org` 替换成 `gem sources --add https://gems.ruby-china.com` 即可
    

    报错信息板块尚未写完,后面有时间会继续完善!!!

    如果有错误的信息,希望大家可以指出,进而及时修改,相互学习!!!

    如有转载的,希望可以注明出处!!!



    作者:苜蓿鬼仙
    链接:https://www.jianshu.com/p/6d8604f0b94c
    来源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
  • 相关阅读:
    Nginx Rewrite详解
    linux下面mysql的基本命令
    通过淘宝的rubygems镜像,安装rubygems
    PHP 调用函数时,函数名称前面加@的作用
    mysql5.5中 host的值为::1
    CentOS 6.2编译安装Nginx1.2.0+MySQL5.5.25+PHP5.3.13+博客系统WordPress3.3.2
    ruby数组方法concat和push的区别
    PHP 的时间格式
    EOF与getchar
    控件台版/MFC版本的简单生日提醒软件及源码
  • 原文地址:https://www.cnblogs.com/itgezhu/p/11087604.html
Copyright © 2011-2022 走看看