最近換新電腦了泣刹,在安裝cocoapods
的時(shí)候遇到了一點(diǎn)兒麻煩篷就,特此記錄
1.查看你的ruby
源
gem sources -l
輸入上面的命令以后询刹,你會得到一下結(jié)果
*** CURRENT SOURCES ***
https://rubygems.org/
這一步是切換ruby
的鏡像源烘跺,mac
默認(rèn)的源地址是rubygems.org
棋恼,但是這個(gè)地址在天朝是不能用返弹,好在咱們有萬能的淘寶
update - 2016-11-28
:現(xiàn)在淘寶的鏡像不維護(hù)了,改用https://gems.ruby-china.org
2.切換ruby源到ruby-China
gem sources —remove https://rubygems.org
gem sources -a https://gems.ruby-china.org
3.安裝cocoapods
sudo gem install -n /usr/local/bin/cocoapods
如果你的系統(tǒng)低于10.11
版本,可以使用一下命令
sudo gem install cocoapods
在這一步很可能會出現(xiàn)下面這么一個(gè)惡心的東西:
activesupport requires Ruby version >= 2.2.2
他告訴你爪飘,想要安裝cocoapods
义起,ruby
的版本必須高于2.2.2
,那么就只能升級ruby
师崎,命令如下:
sudo gem install activesupport -v x.x.x
// 后面的版本號只要高于2.2.2就行了
這個(gè)時(shí)候默终,你再去運(yùn)行上面的安裝命令,就可以成功安裝的犁罩,有些同學(xué)使用WiFi
來安裝齐蔽,有時(shí)候網(wǎng)絡(luò)不穩(wěn)定,可能會等的比較久床估,耐心等待就好了
update
2017.2.13
等你修改或者升級好了gem
版本以后含滴,你還可能遇到下面這種問題
fuzzy_match
庫安裝錯(cuò)誤,簡直不能忍了丐巫,一步步的折磨人...這個(gè)問題是因?yàn)槁窂絾栴}蛙吏,你只需要指定
match
的安裝位置就行了改換成下面??這條命令
sudo gem install -n /usr/local/bin cocoapods
有的同學(xué)可能會想到另一個(gè)問題源哩,我換了路徑以后,之前安裝的是不是要刪掉(強(qiáng)迫癥患者)鸦做,不用擔(dān)心励烦,gem
會復(fù)用之前裝好的東西的。
4.設(shè)置pod倉庫
pod setup
這里也有一個(gè)坑泼诱,那就是當(dāng)你輸入這個(gè)命令的時(shí)候坛掠,會出現(xiàn)這樣幾個(gè)提示:
Setting up CocoaPods master repo
[!] /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
而且一片紅色,很讓人心火大治筒。其實(shí)呢屉栓,第一次使用setup
命令的時(shí)候并不會出現(xiàn)這樣的東西,但是有人不能等或者等了好久覺得可能不行了耸袜,然后關(guān)掉窗口友多,終止了,這樣你以后打開窗口再次使用setup
命令的時(shí)候堤框,就會一直出現(xiàn)上面那幾句提示域滥。這個(gè)時(shí)候,你可以先移除之前的設(shè)置蜈抓,然后找個(gè)網(wǎng)絡(luò)比較好的地方启绰,繼續(xù)setup
!
sudo rm -fr ~/.cocoapods/repos/master
// 移除命令
5.測試是否安裝成功
等setup
那一步成功以后沟使,會出現(xiàn)一個(gè)綠色的Setup completed委可!
然后使用下面命令測試是否成功.如果成功,則會直接顯示一行數(shù)字版本號腊嗡,那么就可以開始上手開發(fā)了...
關(guān)于如何使用着倾,那么請出門左轉(zhuǎn),看看這篇文章燕少,很詳細(xì)的講解了如何使用cocoapods
6.有時(shí)候cocoapods會抽風(fēng)
有時(shí)候,你明明沒有動過cocoapods
,可他就是壞了,不能用了,比如你在執(zhí)行pod install
的時(shí)候可能見到過下面這種問題
[!] Unable to satisfy the following requirements:
- `Firebase/Core` required by `Podfile`
None of your spec sources contain a spec satisfying the dependency: `Firebase/Core`.
You have either:
* out-of-date source repos which you can update with `pod repo update`.
* mistyped the name or version.
* not added the source repo that hosts the Podspec to your Podfile.
Note: as of CocoaPods 1.0, `pod repo update` does not happen on `pod install` by default.
看到這么火紅的一片錯(cuò)誤,你甚至連把這些信息看完的心情都沒有,更別說還是英文的(好吧,無意中透露了什么東西??)...
而且,這個(gè)問題更詭異的地方在于,你在Podfile
里面導(dǎo)入的相應(yīng)版本庫,他找不到,我擦~~~
github
上明明已經(jīng)更新到某個(gè)版本了,你就是從README
里面copy
出來的,你堅(jiān)信自己只按了Ctrl + C
-> Ctrl + V
,難道cocoapods
出軌了?WTF?
這個(gè)問題的原因在于,你的cocoapods
太久沒有更新了,以至于版本落后太多...
去更新到最新版本是你的唯一選擇,執(zhí)行下面這個(gè)命令來更新到最新的版本:
// 更新到最新的預(yù)覽版,一次到底
sudo gem install cocoapods --pre
嗯,就是這樣,此時(shí)你可以安心的放下鼠標(biāo)等勝利了??
然而,有些同學(xué)的電腦可能還是不行,因?yàn)?code>cocoapods在本地的緩存
莫慌,執(zhí)行下面這段萬能的命令:
// 移除本地master
sudo rm -fr ~/.cocoapods/repos/master
// 移除本地緩存
sudo rm -fr ~/Library/Caches/CocoaPods/
// 重新setup,如果網(wǎng)速較慢,可以在后面加上 --verbose
pod setup
嗯,差不多了
如果你在setup
這一步等了很久,很久,很久,久......
請把該文章網(wǎng)上翻,看第五點(diǎn)
7.Swift3.0問題
又是swift3.0
,最近一直在解決這個(gè)家伙的問題,各種升級
在cocoapods
里面它有時(shí)候也會引起問題,在你執(zhí)行pod install命令的時(shí)候,會出現(xiàn)很長一段文字警告信息
好吧,不啰嗦了,直接上方法:
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config| config.build_settings['SWIFT_VERSION'] = '3.0'
end
end
end
嗯,是的,就這么辦...
如果還是不行,呃...
請出門右拐,看這篇文章
8.搜索到的庫版本過低
很多時(shí)候卡者,我們會通過search命令搜索github
上的repos
,找到合適的repo
以后直接復(fù)制pod 'xxx'
然而這里很多時(shí)候我們搜索到的庫棺亭,版本其實(shí)低于其真正的版本虎眨,因?yàn)檫@個(gè)搜索其實(shí)對本地緩存好的search list
進(jìn)行索引的蟋软,而這個(gè)索引是在安裝cocospod
時(shí)候的數(shù)據(jù)镶摘,期間某個(gè)repo
的作者可能更新了
解決這個(gè)問題的方法就是更新本地的`list數(shù)據(jù),命令如下:
pod repo update
9.更新pod版本問題 - update 17.06.06
有時(shí)候你收到pod的更新提示,它會告訴你使用下面命令更新
sudo gem install cocoapods
然后你就happy的copy then paste, then
ERROR: While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/xcodeproj
WTF?造成這個(gè)問題的原因是,pod安裝的時(shí)候沒有指定路徑,就被裝在了默認(rèn)的/bin下面,所以只需要指定路徑就行了
sudo gem install -n /usr/local/bin cocoapods
當(dāng)然你也可以自定義路徑,之后就可以happy的使用sudo gem install cocoapods
來更新
$ mkdir -p $HOME/Software/ruby
$ export GEM_HOME=$HOME/Software/ruby
$ gem install cocoapods
[...]
1 gem installed
$ export PATH=$PATH:$HOME/Sofware/ruby/bin
$ pod --version
生命不息岳守,折騰不止...
I'm not a real coder,but i love it so much!