CocoaPods安裝中的幾個小問題

最近換新電腦了,在安裝cocoapods的時候遇到了一點兒麻煩,特此記錄

1.查看你的ruby

gem sources -l

輸入上面的命令以后,你會得到一下結(jié)果

*** CURRENT SOURCES ***

https://rubygems.org/

這一步是切換ruby的鏡像源,mac默認的源地址是rubygems.org,但是這個地址在天朝是不能用,好在咱們有萬能的淘寶

update - 2016-11-28:現(xiàn)在淘寶的鏡像不維護了,改用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)下面這么一個惡心的東西:

activesupport requires Ruby version >= 2.2.2

他告訴你,想要安裝cocoapods,ruby的版本必須高于2.2.2,那么就只能升級ruby,命令如下:

sudo gem install activesupport -v x.x.x 
// 后面的版本號只要高于2.2.2就行了

這個時候,你再去運行上面的安裝命令,就可以成功安裝的,有些同學使用WiFi來安裝,有時候網(wǎng)絡不穩(wěn)定,可能會等的比較久,耐心等待就好了

update 2017.2.13
等你修改或者升級好了gem版本以后,你還可能遇到下面這種問題

fuzzy_match錯誤

fuzzy_match庫安裝錯誤,簡直不能忍了,一步步的折磨人...
這個問題是因為路徑問題,你只需要指定match的安裝位置就行了
改換成下面??這條命令

sudo gem install -n /usr/local/bin cocoapods

有的同學可能會想到另一個問題,我換了路徑以后,之前安裝的是不是要刪掉(強迫癥患者),不用擔心,gem會復用之前裝好的東西的。

4.設(shè)置pod倉庫

pod setup

這里也有一個坑,那就是當你輸入這個命令的時候,會出現(xiàn)這樣幾個提示:

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

而且一片紅色,很讓人心火大。其實呢,第一次使用setup命令的時候并不會出現(xiàn)這樣的東西,但是有人不能等或者等了好久覺得可能不行了,然后關(guān)掉窗口,終止了,這樣你以后打開窗口再次使用setup命令的時候,就會一直出現(xiàn)上面那幾句提示。這個時候,你可以先移除之前的設(shè)置,然后找個網(wǎng)絡比較好的地方,繼續(xù)setup!

sudo rm -fr ~/.cocoapods/repos/master
// 移除命令

5.測試是否安裝成功

setup那一步成功以后,會出現(xiàn)一個綠色的Setup completed!然后使用下面命令測試是否成功.如果成功,則會直接顯示一行數(shù)字版本號,那么就可以開始上手開發(fā)了...

關(guān)于如何使用,那么請出門左轉(zhuǎn),看看這篇文章,很詳細的講解了如何使用cocoapods

6.有時候cocoapods會抽風

有時候,你明明沒有動過cocoapods,可他就是壞了,不能用了,比如你在執(zhí)行pod install的時候可能見到過下面這種問題

[!] 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.

看到這么火紅的一片錯誤,你甚至連把這些信息看完的心情都沒有,更別說還是英文的(好吧,無意中透露了什么東西??)...

而且,這個問題更詭異的地方在于,你在Podfile里面導入的相應版本庫,他找不到,我擦~~~
github上明明已經(jīng)更新到某個版本了,你就是從README里面copy出來的,你堅信自己只按了Ctrl + C -> Ctrl + V,難道cocoapods出軌了?WTF?

這個問題的原因在于,你的cocoapods太久沒有更新了,以至于版本落后太多...
去更新到最新版本是你的唯一選擇,執(zhí)行下面這個命令來更新到最新的版本:

// 更新到最新的預覽版,一次到底
sudo gem install cocoapods --pre

嗯,就是這樣,此時你可以安心的放下鼠標等勝利了??
然而,有些同學的電腦可能還是不行,因為cocoapods在本地的緩存
莫慌,執(zhí)行下面這段萬能的命令:

// 移除本地master
sudo rm -fr ~/.cocoapods/repos/master
// 移除本地緩存
sudo rm -fr ~/Library/Caches/CocoaPods/
// 重新setup,如果網(wǎng)速較慢,可以在后面加上 --verbose
pod setup

嗯,差不多了
如果你在setup這一步等了很久,很久,很久,久......
請把該文章網(wǎng)上翻,看第五點

7.Swift3.0問題

又是swift3.0,最近一直在解決這個家伙的問題,各種升級
cocoapods里面它有時候也會引起問題,在你執(zhí)行pod install命令的時候,會出現(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.搜索到的庫版本過低

很多時候,我們會通過search命令搜索github上的repos,找到合適的repo以后直接復制pod 'xxx'
然而這里很多時候我們搜索到的庫,版本其實低于其真正的版本,因為這個搜索其實對本地緩存好的search list進行索引的,而這個索引是在安裝cocospod時候的數(shù)據(jù),期間某個repo的作者可能更新了

解決這個問題的方法就是更新本地的`list數(shù)據(jù),命令如下:

pod repo update

9.更新pod版本問題 - update 17.06.06

有時候你收到pod的更新提示,它會告訴你使用下面命令更新

sudo gem install cocoapods

然后你就happy的copy then paste, then

ERROR:  While executing gem ... (Errno::EPERM)
    Operation not permitted - /usr/bin/xcodeproj

WTF?造成這個問題的原因是,pod安裝的時候沒有指定路徑,就被裝在了默認的/bin下面,所以只需要指定路徑就行了

sudo gem install -n /usr/local/bin cocoapods

當然你也可以自定義路徑,之后就可以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!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容