安裝 cocoapods 時(shí)遇到的坑

安裝 cocoapods 時(shí)遇到的坑

今天在新的 mac 上安裝 cocoapods. 在將Ruby 的鏡像換成淘寶的后.為啥要換,大家都懂的.在天朝.你肯定會(huì)被墻的.本以為輸入sudo gem install cocoapods此命令就可以坐等 OK 了,但是,cocoapods沒(méi)有那么和善,拋出了一行錯(cuò)誤:Error installing pods:activesupport requires Ruby version >= 2.2.2.

這個(gè)大家都能看懂.意思就是你要安裝 cocoapods. 你的 Ruby 環(huán)境版本必須大于等于2.2.2.于是,我輸入了 gem --version.結(jié)果出來(lái)的版本號(hào)是2.6.0.我說(shuō)這明明大于2.2.2.怎么還提示版本太低呢.結(jié)果一查才知道:rvm是用來(lái)管理ruby的,ruby的其中一個(gè)“程序”叫rubygems,簡(jiǎn)稱 gem,而用來(lái)管理項(xiàng)目 的gem的,叫bundle.完全是不同的東西,他們相同的只是都可以管理gem.所以說(shuō)不能用這個(gè).得用rvm list.一查, ruby 的版本好像是1.9.8吧,看來(lái)是cocoapods 沒(méi)騙我.接下來(lái)的工作就是升級(jí) cocoapods 了.

1、安裝 RVM

RVM:Ruby Version Manager,Ruby版本管理器,包括Ruby的版本管理和Gem庫(kù)管理(gemset)

$ curl -L get.rvm.io | bash -s stable  

等待一段時(shí)間后就可以成功安裝好 RVM。測(cè)試是否安裝正常

rvm -v 

然后就可以看到目前裝好的 ruby 環(huán)境的版本了.因?yàn)檫^(guò)程正確過(guò)了.沒(méi)來(lái)的及截圖.

2、用RVM升級(jí)Ruby

查看當(dāng)前ruby版本  
$ ruby -v  
ruby 1.8.7  
列出已知的ruby版本  
$ rvm list known  
安裝ruby 2.3  
$ rvm install 2.3

這里我直接安裝2.3版本.
安裝完成之后ruby -v查看是否安裝成功。

這是就可以看到你安裝的當(dāng)前版本了.

這里還要說(shuō)的就是ruby - list 是查詢你所安裝的 ruby 的所有版本.如果不只一個(gè),就把多余的刪掉吧,不然會(huì)有時(shí)候會(huì)影響的.

現(xiàn)在安裝成功了,接下來(lái)就是執(zhí)行 sudo gem install cocoapods ,安裝 cocoapods 了.也如愿的成功了.
接下來(lái)就是 pod 第三方庫(kù)了.結(jié)果又被坑了,之前在配置 Podfile 文件的時(shí)候沒(méi)有配置 target. 結(jié)果找原來(lái)的 pod install 后報(bào)錯(cuò):

[!] The dependency `AFNetworking` is not used in any concrete target.
The dependency `SDWebImage` is not used in any concrete target.

好吧,查了之后才知道,CocoaPods升級(jí)到1.0.0.beta版本之后必須配置target,版本變成1.0.0.bate版是因?yàn)楸籆ocoaPods的mac客戶端覆蓋了。所以說(shuō)又去老老實(shí)實(shí)的配置好 tagter.才想起來(lái)以前的用的是0.39.0的.所以說(shuō):如果準(zhǔn)備寫(xiě)一個(gè)長(zhǎng)期項(xiàng)目,最好在創(chuàng)建Podfile文件時(shí)將source、target、release信息寫(xiě)全,避免日后被坑。

到這里所有問(wèn)題就完美解決了.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容