我们经常会遇到这样的问题,当多人开发git维护和多个项目之间切换的时候cocoapods版本产生冲突,大多数人会选择比较简单粗暴的解决方式,就是统一版本,或是都更新到最新的版本来解决冲突。但是,这种方式强行忽略了各个cocoapods不同版本环境的问题,只是消除了大家的互异点,而在系统中这种存在方式是合理的,所以我们看一下如何优雅的切换不同版本的cocoapods。
思考
第一种
我们可以通过rvm来管理不同版本的ruby,从而达到不同版本ruby的不同cocoapods版本
第二种
通过rvm管理一个ruby,在ruby中可以创建多个gem,每一个gem对应一个cocoapods
操作
安装rvm
(1)终端操作安装,三种任选其一,第一种需要安装gpg2
$ gpg2 --recv键409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
$ \curl -sSL https://get.rvm.io | bash -s stable
$ \curl -sSL https://get.rvm.io | bash -s stable --rails
(2)依次执行
$ source ~/.bashrc
$ source ~/.bash_profile安装gem
(1)默认是在当前的ruby版本下安装的
rvm gemset create <gem名称>
如:rvm gemset create gemswift1.0
(2)切换gem
rvm use <ruby版本号>@<gem名称>
如: rvm use 2.3.6@gemswift1.0安装cocoapods
如果出现<!--`bin_path': can't find gem cocoapods (>= 0.a) (Gem::GemNotFoundException)--> <!--from /usr/local/bin/pod:22:in `<main>'-->
(1)删除cocoapods
gem uninstall cocoapods
(2)安装最新的cocoapods版本
gem install cocoapods
(3)安装指定cocoapods版本
gem install cocoapods --version <指定版本>常用命令
常规管理
查看当前ruby版本:ruby -v
查看当前gem版本:gem -v
查看当前cocoapods版本: pod --versionrvm管理
ruby
查看当前安装的ruby版本:rvm list
查看rvm管理的ruby版本:rvm list known
安装某个ruby版本:rvm install <版本号:必须是存在的> --disable-binary
切换ruby版本:rvm use <版本号>
指定默认的ruby版本:rvm use <版本号> --default
卸载某个ruby版本:rvm remove <版本号>
gem
查看当前ruby版本的gem版本:rvm gemset list
删除某个gem:rvm gemset delete <gem版本名>
清除gem安装内容:rvm gemset empty <指定版本号>@<指定gem名称>