Macos下Cocoapods多个版本共存管理

4,695 阅读2分钟

1、Cocoapods版本切换的痛苦

执行命令

gem list --local | grep cocoapods

输出

cocoapods (1.5.3, 1.3.1)
cocoapods-core (1.5.3, 1.5.0, 1.4.0, 1.3.1)
cocoapods-deintegrate (1.0.3, 1.0.2)
cocoapods-downloader (1.2.2)
cocoapods-plugins (1.0.0)
cocoapods-search (1.0.0)
cocoapods-stats (1.1.0, 1.0.0)
cocoapods-trunk (1.3.1)
cocoapods-try (1.1.0)

全部卸载

gem uninstall cocoapods
gem uninstall cocoapods-core
gem uninstall cocoapods-downloader
gem uninstall cocoapods-plugins
gem uninstall cocoapods-search
gem uninstall cocoapods-stats
gem uninstall cocoapods-trunk
gem uninstall cocoapods-try

然后再重新安装一遍你需要的特定版本Cocoapods

gem install cocoapods -v 0.35.0

2、使用rvm来管理多个版本Cocoapods

步骤:

1、安装rvm
2、安装rvm成功后,安装多个版本的ruby,你需要几个版本的Cocoapods,就安装几个版本的ruby
3、不同版本的ruby下安装不同版本的Cocoapods
4、想用哪个版本的Cocoapods,就切换到相应的ruby版本就行了(rvm use命令)
5、(可选步骤)用rvm给用到的ruby加上别名(rvm alias系列命令)

其实使用rvm还可以用到gemset,这样的话,就可以只安装一个ruby版本,但是拥有多个gem集了。 步骤也很简单:

使用下面这行命令同时创建三个gemset

rvm gemset create Gemset0 Gemset1 Gemset2

使用rvm gemset use Gemset1命令来使用“Gemset1”这个gem集

使用gem install命令安装你需要的特定版本Cocoapods(以及其他gem)

注意:rvm安装的每个ruby里,都是有两个叫做default、global的gemset的,一个默认gemset,一个全局gemset

3、每个项目都有自己的Cocoapods

具体步骤如下: 安装Bundler:Bundler本身就是一个gem,通过gem install bundler命令即可安装

类似Cocoapods的Podfile文件,我们需要创建一个Gemfile文件,文件位置和Podifle所在位置相同即可。(通过在项目主目录下执行bundle init命令也可)

在Gemfile文件中,我们想配置所需pod一样配置我们所需的gem:

source "https://rubygems.org"
gem 'cocoapods', '0.35.0'

和pod install一样的,执行bundle install

想要运行刚刚Bundler安装的cocoapods的话,在相应位置,执行bundle exec pod install即可(除了有bundle exec这个前缀,其他和你平时使用pod命令一样,当然,去掉bundle exec这个前缀,你运行的就是你之前全局安装的Cocoapods了)