现象:
最近在项目,由于打包的时候报警,与其他同事电脑保持cocoapods版本号一致(想要更新到最新的1.3.1,目前1.2.0),于是在终端开始执行一下命令:
sudo gem install cocoapods
pod --version

which pod
查看一下当前pod的路径,竟然发现刚刚安装pod的路径和pod运行的路径不一样:


解决方案:
无奈,只好另寻他法,既然我无法指定,那能否直接全部删除呢,全部重来? 后面尝试着在终端敲移除命令
sudo gem uninstall cocoapods
这个时候居然发现我电脑里面有好几个版本的cocoapods,看到第6个选项全部版本,果断选了6。


原因&总结:
为何会出现不同的路径?cocoapods是用的ruby语言写的一个工具,当初升级电脑版本ruby版本的时候,有一种方式是rvm,另一种方式是用homebrew,我有印象当时两种方法都是用过,当时废了不少劲把系统的ruby版本升级到了2.3。这两种方法都处理过ruby,导致在系统里面留下了不同的路径。所以在我看来,由于不同方式的更新ruby,导致系统ruby路径存在混乱,基于ruby上安装的工具也会受到相应的影响。
出现这种现象是因为,更新pod版本的路径和运行版本路径不一致导致,再怎么更新,运行pod的路径下的为老版本都是没有用的。在我们不知道如何指定pod运行路径的命令或者方法的情况下,清除本机所有的有关pod的版本,重新安装是一个最优的选择。
文中如有不对之处还望批评指正。