現象:
最近在項目,由于打包的時候報警,與其他同事電腦保持cocoapods版本號一致(想要更新到最新的1.3.1,目前1.2.0),于是在終端開始執行一下命令:
sudo gem install cocoapods
pod --version
更新.png
過程看著都很正常,但是在敲一下命令看版本,發現還是原先1.2.0版本。瞬間傻了眼,不起作用~
在終端里面繼續敲
which pod
查看一下當前pod的路徑,竟然發現剛剛安裝pod的路徑和pod運行的路徑不一樣:
路徑1.png
路徑2.png
兩個文件夾下面都有pod(上圖是被我刪掉pod之后的截圖),所以理所當然的想把剛剛更新的pod復制一份到which pod指定的目錄下,結果發現也是不起作用。
后續我一次又一次的指定pod的安裝目錄,安裝,卸載pod都不管用,安裝完版本號始終為1.2.0(┑( ̄Д  ̄)┍)。
解決方案:
無奈,只好另尋他法,既然我無法指定,那能否直接全部刪除呢,全部重來?
后面嘗試著在終端敲移除命令
sudo gem uninstall cocoapods
這個時候居然發現我電腦里面有好幾個版本的cocoapods,看到第6個選項全部版本,果斷選了6。
全部移除.png
完畢之后這個時候我電腦的就沒有任何cocoapods版本了(很棒棒)。
然后重新執行安裝命令,終于可以了。pod安裝的目錄,和現執行的pod路徑為同一個了。
重新安裝.png
原因&總結:
為何會出現不同的路徑?cocoapods是用的ruby語言寫的一個工具。MacOS當中本身就集成了Ruby,所以路徑不一樣的原因,是因為電腦里面有一個自帶的Ruby路徑,還有一個就是通過Rvm管理的Ruby。可以在在終端里面輸入which ruby
來查看使用的是什么ruby。
那么如何切換ruby呢?
rvm use system # 使用系統 ruby
rvm use 2.3 # 使用 rvm ruby
在切換 ruby 版本之后,gem 也會跟著切換,我們就可以安裝兩個版本的 CocoaPods 了。