最近在Xcode8 OSX10.12上安装CocoaPods,在这里记录一下安装过程。
首先在安装之前,我们有必要先来了解一下Homebrew、Rvm、Ruby
一·Homebrew、Rvm、Ruby介绍
1.Homebrew 介绍
Homebrew 是一个软件包管理器,用于在mac上安装一些os x上没有的UNiX工具;
Homebrew将这些工具统统安装到了 /usr/local/Cellar 目录中,并在 /usr/local/bin 中创建符号链接。
2.Rvm 介绍、
Rvm是安装和管理 ruby 的一种工具
3.Ruby介绍
Ruby 是一种面向对象的脚本语言,简单易用,功能强大,Mac 下都自带 ruby。
Ruby的软件源使用的是亚马逊的云服务,国内网络环境下载时可能会出现各种不稳定和超时,所以自带的需要翻墙,可以将官方 ruby 源替换成国内淘宝 ruby 源(https://ruby.taobao.org/)或者是由China ruby 源(https://gems.ruby-china.org/)。不过淘宝源好像暂停维护了,所以建议使用China ruby 源。
二.CocoaPods安装
1.检查当前 rvm 环境
打开终端,输入$ rvm -v
打印结果如下,代表存在rvm环境
rvm 1.27.0 (latest) by Wayne E. Seguin, Michal Papis[https://rvm.io/]
如果打印结果如下,代表不存在rvm环境,如何安装rvm环境,请自行搜索。
-bash: rvm: command not found
2.存在rvm环境,可以用rvm安装ruby环境,不过mac一般都自带ruby环境
只不过当 ruby 版本低于 2.2.2 时,安装 CocoaPods 会报错;为防止 ruby 版本过低,建议先升级 ruby 环境,建议升级到 2.3.0 版本以上。
终端输入 $ ruby -v 查看当前ruby版本,我的已经升到了2.3.0
ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin16]
如果想升级ruby的,终端一次输入下面命令
(1).$ rvm list known # 列出已知的 ruby 版本
打印如下
[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
(2)$ rvm remove 1.9.2 # 卸载移除 指定 ruby 版本
(3)$ rvm install 2.3.0 # 选择指定 ruby 版本进行更新
(4)$ rvm use 2.3.0 --default # 设置指定 ruby 版本为默认版本
(5).$ ruby -v # 查看当前ruby 版本,看有没有更新成功
3.正式安装CocoaPods,安装方式异常简单,使用 ruby 的 gem 命令即可下载安装
不过这里需要注意一下,如果你的gem太老,可能也会出现问题,所以建议 gem ruby 包环境升级到 2.6.x 以上。
检查 gem ruby 版本号:
$ sudo gem -v
更新gem ruby版本号
$ gem update --system
另外,ruby 的软件源 https://rubygems.org 因为使用的是亚马逊的云服务,所以被墙了,需要更新一下 ruby 的源,使用如下代码将官方的 ruby 源替换成国内China ruby 源:
$ gem sources -l #检测现有ruby源
打印如下:
https://rubygems.org/
移除现有 ruby 源
$ gem sources --remove https://rubygems.org/
替换添加国内镜像源 ruby-china 源
$ gem sources --add https://gems.ruby-china.org
再次检测现有ruby源,看是否替换成功 $ gem sources -l
说了这么多,终于可以安装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
我的系统是10.12的,所以我终端直接输入$ sudo gem install -n /usr/local/bin cocoa pods进行安装CocoaPods,这里需要输入一次密码
接下来执行
$ pod setup
还有一点需要注意,pod setup在执行时,会输出Setting up CocoaPods master repo,但是会等待比较久的时间。这步其实是 Cocoapods 在将它的信息下载到 ~/.cocoapods目录下,如果你等太久,可以试着 cd 到那个目录,用du -sh *来查看下载进度
在$ pod setup 我遇到了一个问题
[!] /usr/bin/git clone https://github.com/CocoaPods/Specs.git master
Cloning into 'master'...
error: RPC failed; curl 56 SSLRead() return error -36
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
如果没报错,证明CocoaPods已经安装成功。
测试一下
终端输入
$ 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)
命令行cd 进入文件目录,
pod init //创建Podfile文件
用xcode 打开Podfile文件,写入要导入的包
pod 'AFNetworking', '~> 3.1.0'
//执行命令,安装对应的包
pod install