最近在Xcode8 OSX10.12上安裝CocoaPods棋恼,在這里記錄一下安裝過(guò)程。
首先在安裝之前,我們有必要先來(lái)了解一下Homebrew邦邦、Rvm、Ruby
一·Homebrew醉蚁、Rvm燃辖、Ruby介紹
1.Homebrew 介紹
Homebrew 是一個(gè)軟件包管理器,用于在mac上安裝一些os x上沒(méi)有的UNiX工具网棍;
Homebrew將這些工具統(tǒng)統(tǒng)安裝到了 /usr/local/Cellar 目錄中黔龟,并在 /usr/local/bin 中創(chuàng)建符號(hào)鏈接。
2.Rvm 介紹、
Rvm是安裝和管理 ruby 的一種工具
3.Ruby介紹
Ruby 是一種面向?qū)ο蟮哪_本語(yǔ)言氏身,簡(jiǎn)單易用巍棱,功能強(qiáng)大,Mac 下都自帶 ruby蛋欣。
Ruby的軟件源使用的是亞馬遜的云服務(wù)航徙,國(guó)內(nèi)網(wǎng)絡(luò)環(huán)境下載時(shí)可能會(huì)出現(xiàn)各種不穩(wěn)定和超時(shí),所以自帶的需要翻墻陷虎,可以將官方 ruby 源替換成國(guó)內(nèi)淘寶 ruby 源(https://ruby.taobao.org/)或者是由China ruby 源(https://gems.ruby-china.org/)到踏。不過(guò)淘寶源好像暫停維護(hù)了,所以建議使用China ruby 源尚猿。
二.CocoaPods安裝
1.檢查當(dāng)前 rvm 環(huán)境
打開(kāi)終端窝稿,輸入$ rvm -v
打印結(jié)果如下,代表存在rvm環(huán)境
rvm 1.27.0 (latest) by Wayne E. Seguin, Michal Papis[https://rvm.io/]
如果打印結(jié)果如下谊路,代表不存在rvm環(huán)境讹躯,如何安裝rvm環(huán)境,請(qǐng)自行搜索缠劝。
-bash: rvm: command not found
2.存在rvm環(huán)境潮梯,可以用rvm安裝ruby環(huán)境,不過(guò)mac一般都自帶ruby環(huán)境
只不過(guò)當(dāng) ruby 版本低于 2.2.2 時(shí)惨恭,安裝 CocoaPods 會(huì)報(bào)錯(cuò)秉馏;為防止 ruby 版本過(guò)低,建議先升級(jí) ruby 環(huán)境脱羡,建議升級(jí)到 2.3.0 版本以上萝究。
終端輸入? $ ruby -v 查看當(dāng)前ruby版本,我的已經(jīng)升到了2.3.0
ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin16]
如果想升級(jí)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 版本進(jìn)行更新
(4)$ rvm use 2.3.0 --default? ? #? 設(shè)置指定 ruby 版本為默認(rèn)版本
(5).$ ruby -v? ? ? ? ? ? ? ? ? ? #? 查看當(dāng)前ruby 版本,看有沒(méi)有更新成功
3.正式安裝CocoaPods,安裝方式異常簡(jiǎn)單,使用 ruby 的 gem 命令即可下載安裝
不過(guò)這里需要注意一下帆竹,如果你的gem太老,可能也會(huì)出現(xiàn)問(wèn)題脓规,所以建議 gem ruby 包環(huán)境升級(jí)到 2.6.x 以上栽连。
檢查 gem ruby 版本號(hào):
$ sudo gem -v
更新gem ruby版本號(hào)
$ gem update --system
另外,ruby 的軟件源 https://rubygems.org 因?yàn)槭褂玫氖莵嗰R遜的云服務(wù)侨舆,所以被墻了秒紧,需要更新一下 ruby 的源,使用如下代碼將官方的 ruby 源替換成國(guó)內(nèi)China ruby 源:
$ gem sources -l ? ? #檢測(cè)現(xiàn)有ruby源
打印如下:
https://rubygems.org/
移除現(xiàn)有 ruby 源
$ gem sources --remove https://rubygems.org/
替換添加國(guó)內(nèi)鏡像源 ruby-china 源
$ gem sources --add https://gems.ruby-china.org
再次檢測(cè)現(xiàn)有ruby源挨下,看是否替換成功 $ gem sources -l
說(shuō)了這么多熔恢,終于可以安裝CocoaPods了
我先把注意的點(diǎn)先說(shuō)了*********
由于 OS X 系統(tǒng)的不同,此處的指令也是有些變化:
OS X 10.11之前系統(tǒng)的安裝 CocoaPods 指令: $ sudo gem install cocoapods
OS X 10.11以后系統(tǒng)的安裝 CocoaPods 指令: $ sudo gem install -n /usr/local/bin cocoa pods
我的系統(tǒng)是10.12的臭笆,所以我終端直接輸入$ sudo gem install -n /usr/local/bin cocoa pods進(jìn)行安裝CocoaPods叙淌,這里需要輸入一次密碼
接下來(lái)執(zhí)行
$ pod setup
還有一點(diǎn)需要注意秤掌,pod setup在執(zhí)行時(shí),會(huì)輸出Setting up CocoaPods master repo鹰霍,但是會(huì)等待比較久的時(shí)間机杜。這步其實(shí)是 Cocoapods 在將它的信息下載到 ~/.cocoapods目錄下,如果你等太久衅谷,可以試著 cd 到那個(gè)目錄,用du -sh *來(lái)查看下載進(jìn)度
在$ pod setup 我遇到了一個(gè)問(wèn)題
[!] /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
如果沒(méi)報(bào)錯(cuò)似将,證明CocoaPods已經(jīng)安裝成功获黔。
測(cè)試一下
終端輸入
$ 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 進(jìn)入文件目錄在验,
pod init ? //創(chuàng)建Podfile文件
用xcode 打開(kāi)Podfile文件玷氏,寫入要導(dǎo)入的包
pod 'AFNetworking', '~> 3.1.0'
//執(zhí)行命令,安裝對(duì)應(yīng)的包
pod install ??