安裝 cocoapods 時(shí)遇到的坑
今天在新的 mac 上安裝 cocoapods. 在將Ruby 的鏡像換成淘寶的后.為啥要換,大家都懂的.在天朝.你肯定會(huì)被墻的.本以為輸入sudo gem install cocoapods此命令就可以坐等 OK 了,但是,cocoapods沒有那么和善,拋出了一行錯(cuò)誤:Error installing pods:activesupport requires Ruby version >= 2.2.2.
這個(gè)大家都能看懂.意思就是你要安裝 cocoapods. 你的 Ruby 環(huán)境版本必須大于等于2.2.2.于是,我輸入了 gem --version.結(jié)果出來的版本號(hào)是2.6.0.我說這明明大于2.2.2.怎么還提示版本太低呢.結(jié)果一查才知道:rvm是用來管理ruby的混移,ruby的其中一個(gè)“程序”叫rubygems膀哲,簡(jiǎn)稱 gem竖幔,而用來管理項(xiàng)目 的gem的扫俺,叫bundle.完全是不同的東西,他們相同的只是都可以管理gem.所以說不能用這個(gè).得用rvm list.一查, ruby 的版本好像是1.9.8吧,看來是cocoapods 沒騙我.接下來的工作就是升級(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)檫^程正確過了.沒來的及截圖.
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)前版本了.
這里還要說的就是ruby - list 是查詢你所安裝的 ruby 的所有版本.如果不只一個(gè),就把多余的刪掉吧,不然會(huì)有時(shí)候會(huì)影響的.
現(xiàn)在安裝成功了,接下來就是執(zhí)行 sudo gem install cocoapods ,安裝 cocoapods 了.也如愿的成功了.
接下來就是 pod 第三方庫(kù)了.結(jié)果又被坑了,之前在配置 Podfile 文件的時(shí)候沒有配置 target. 結(jié)果找原來的 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客戶端覆蓋了。所以說又去老老實(shí)實(shí)的配置好 tagter.才想起來以前的用的是0.39.0的.所以說:如果準(zhǔn)備寫一個(gè)長(zhǎng)期項(xiàng)目泞当,最好在創(chuàng)建Podfile文件時(shí)將source迹蛤、target、release信息寫全襟士,避免日后被坑盗飒。
到這里所有問題就完美解決了.