Macos下Cocoapods多個版本共存管理

GabrielPanda發表於2019-03-06

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了)

相關文章