現(xiàn)象:
最近在項目,由于打包的時候報警近速,與其他同事電腦保持cocoapods版本號一致(想要更新到最新的1.3.1诈嘿,目前1.2.0),于是在終端開始執(zhí)行一下命令:
sudo gem install cocoapods
pod --version
過程看著都很正常削葱,但是在敲一下命令看版本奖亚,發(fā)現(xiàn)還是原先1.2.0版本。瞬間傻了眼析砸,不起作用~
在終端里面繼續(xù)敲
which pod
查看一下當(dāng)前pod的路徑昔字,竟然發(fā)現(xiàn)剛剛安裝pod的路徑和pod運行的路徑不一樣:
兩個文件夾下面都有pod(上圖是被我刪掉pod之后的截圖),所以理所當(dāng)然的想把剛剛更新的pod復(fù)制一份到which pod指定的目錄下首繁,結(jié)果發(fā)現(xiàn)也是不起作用作郭。
后續(xù)我一次又一次的指定pod的安裝目錄陨囊,安裝,卸載pod都不管用夹攒,安裝完版本號始終為1.2.0(┑( ̄Д  ̄)┍)蜘醋。
解決方案:
無奈,只好另尋他法咏尝,既然我無法指定压语,那能否直接全部刪除呢,全部重來状土?
后面嘗試著在終端敲移除命令
sudo gem uninstall cocoapods
這個時候居然發(fā)現(xiàn)我電腦里面有好幾個版本的cocoapods无蜂,看到第6個選項全部版本,果斷選了6蒙谓。
完畢之后這個時候我電腦的就沒有任何cocoapods版本了(很棒棒)斥季。
然后重新執(zhí)行安裝命令,終于可以了累驮。pod安裝的目錄酣倾,和現(xiàn)執(zhí)行的pod路徑為同一個了。
原因&總結(jié):
為何會出現(xiàn)不同的路徑谤专?cocoapods是用的ruby語言寫的一個工具躁锡。MacOS當(dāng)中本身就集成了Ruby,所以路徑不一樣的原因置侍,是因為電腦里面有一個自帶的Ruby路徑映之,還有一個就是通過Rvm管理的Ruby±唬可以在在終端里面輸入which ruby
來查看使用的是什么ruby杠输。
那么如何切換ruby呢?
rvm use system # 使用系統(tǒng) ruby
rvm use 2.3 # 使用 rvm ruby
在切換 ruby 版本之后秕衙,gem 也會跟著切換蠢甲,我們就可以安裝兩個版本的 CocoaPods 了。