1、檢查當前rvm環(huán)境? ? ? ? $rvm -v
`輸出結(jié)果:( 存在 rvm 環(huán)境)`muxuguixiandeMacBook-Pro:~ jijiucheng$ rvm -vrvm1.27.0(latest) by Wayne E. Seguin , Michal Papis [https://rvm.io/]
`輸出結(jié)果:(不存在 rvm 環(huán)境)`muxuguixiandeMacBook-Pro:~ jijiucheng$ rvm -v-bash: rvm:commandnotfound
如果不存在rvm環(huán)境,先安裝配置rvm環(huán)境? ? ? ? $curl -L https://get.rvm.io | bash -s stable
期間可能會問你 `sudo管理員` 密碼,以及自動通過 `homebrew` 安裝依賴包;
等待一段時間后就可以成功安裝好 `rvm`。
然后,載入 RVM 環(huán)境(新開 Termal 就不用這么做了,會自動重新載入的)。
$source ~/.rvm/scripts/rvm
輸出結(jié)果:(^_^)(什么都沒有輸出)muxuguixiandeMacBook-Pro:~ jijiucheng$source ~/.rvm/scripts/rvm
③ 再次檢查 rvm 是否安裝正確。
$rvm -v
`輸出結(jié)果:( 存在 rvm 環(huán)境)`muxuguixiandeMacBook-Pro:~ jijiucheng$ rvm -vrvm1.27.0(latest) by Wayne E. Seguin , Michal Papis [https://rvm.io/]
2、用rvm安裝ruby環(huán)境? ? ? $ rvm list known
指定ruby版本進行更新( 此處按照ruby2.3.0版本進行更新 )。
$ rvm install 2.3.0
查詢已安裝的 ruby:
$ rvm list
卸載一個已安裝版本:
$ rvm remove 2.3.0
檢查更新 ruby 版本環(huán)境(正常情況下從此步驟開始)
CocoaPods是用gem ruby實現(xiàn)的,要想使用它首先需要有g(shù)em ruby的環(huán)境。且 MAC 的 OS X系統(tǒng)默認已經(jīng)可以運行ruby。
此處建議gem ruby包環(huán)境升級到2.6.x以上。
檢查gem ruby版本號:
$sudo gem -v
檢查結(jié)果:( 默認情況下版本應(yīng)該較低,建議升級到 )muxuguixiandeMacBook-Pro:localjijiucheng$ gem -v2.5.1
更新gem ruby版本號:
$gem update --system
更新成功:( 實際打印可能與此不同,但是成功了就會顯示 Successfully )muxuguixiandeMacBook-Pro:localjijiucheng$ gemupdate--systemUpdating rubygems-updateFetching: rubygems-update-2.6.7.gem (100%)Successfully installed rubygems-update-2.6.7
此種提示:( 表示已經(jīng)是最新的 gemruby環(huán)境 )muxuguixiandeMacBook-Pro:~ jijiucheng$ gemupdate--systemLatestversioncurrently installed. Aborting.
檢查ruby 源
$ gem sources -l
檢查結(jié)果:( 如果電腦沒安裝過 CocoaPods,此時應(yīng)該是默認 ruby 源 )muxuguixiandeMacBook-Pro:~ jijiucheng$gem sources -l*** CURRENT SOURCES ***https://rubygems.org/
移除ruby 源
$ gem sources --removehttps://rubygems.org/
移除結(jié)果:muxuguixiandeMacBook-Pro:local jijiucheng$ gem sources --removehttps://rubygems.org/https://rubygems.org/ removed from sources
替換添加國內(nèi)鏡像源ruby-china 源,因為上面已經(jīng)提到國內(nèi)鏡像源taobao 源已經(jīng)停止維護了,所以此處替換的是ruby-china 源,且盡量確保只有一個ruby-china 源
$ gem sources --addhttps://gems.ruby-china.org
$ gem sources --addhttps://gems.ruby-china.com ? ? (因為該源的域名備案問題,提供.com代替.org)
替換結(jié)果:muxuguixiandeMacBook-Pro:local jijiucheng$ gem sources --addhttps://gems.ruby-china.orghttps://gems.ruby-china.org addedtosources
再次檢查此時的 ruby 源:( 已經(jīng)變成了 ruby-china 源 )muxuguixiandeMacBook-Pro:localjijiucheng$ gem sources -l*** CURRENT SOURCES ***https://gems.ruby-china.org
3、安裝 CocoaPods
安裝 CocoaPods(sudo 表示管理員執(zhí)行指令)(此處需要輸入一次密碼)
$ sudo geminstallcocoapods? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? OS X10.11之前用這個命令
$ sudo gem install -n /usr/local/bin cocoapods? ? ? ? OS X10.11以后用這個命令
底端有 gems installed 標志著安裝 CocoaPods 成功
$ pod setup?? 安裝成功之后執(zhí)行這個命令? ? 可是這個要等太久太久了? 下面介紹個實用的辦法,還可以看到進度條
$ cd ~/.cocoapods/repos
$ git clone?https://github.com/CocoaPods/Specs.git
好了,現(xiàn)在可以盡情的看到進度條在動了。安心等下載完成吧,再也不用在那里死等那個pod setup了。有進度提示,放心多了。
等下載好之后,只需要把這個Specs 改名為master 就可以了。
然后執(zhí)行 pod repo 可以看到如下信息:
master
- Type: git (master)
- URL:? https://github.com/CocoaPods/Specs.git
- Path: /Users/fengsh/.cocoapods/repos/master
1 repo
最后,pod setup 成功了。現(xiàn)在就可以cd到你的項目路徑下盡情的pod install 了。注意,pod install 和pod update也慢,但這兩命令慢的話,我們也可以自己搭建私有的cocoapod庫來中轉(zhuǎn)一下。來解決這個慢的問題。
使用 pod install 還是 pod update,原文這里
許多人開始使用CocodPods的時候認為pod install只是你第一次用CocoaPods建立工程的時候使用,而之后都是使用pod update,但實際上并不是那會事。簡單來說,就是:
1.使用pod install來安裝新的庫,即使你的工程里面已經(jīng)有了Podfile,并且已經(jīng)執(zhí)行過pod install命令了;所以即使你是添加或移除庫,都應(yīng)該使用pod install。
2.使用pod update [PODNAME] 只有在你需要更新庫到更新的版本時候用。
pod install
這個是第一次在工程里面使用pods的時候使用,而且每次你編輯你的Podfile(添加、移除、更新)的時候使用。
1:每次運行pod install命令的時候,在下載、安裝新的庫的同時,也會把你安裝的每個庫的版本都寫在了Podfile.lock文件里面。這個文件記錄你每個安裝庫的版本號,并且鎖定了這些版本。
2:當你使用pod install,它只處理了pods的依賴,但是不會處理Podfile.lock文件。
對于在Podfile.lock里面所列出的pods,會下載在Podfile.lock里面明確的版本,并不會去檢查是否該庫有新的版本。
對于不在Podfile.lock里面的庫,會找到Podfile里面描述對應(yīng)版本(例如:pod "MyPod", "~>1.2")。
pod outdated
當你運行pod outdated命令,CocoaPods會列出那些所有較Podfile.lock里面有新版本的庫(那些當前被安裝著的庫的版本)。這個意思就是,如果你運行pod update PODNAME,如果這個庫有新的版本,并且新版本仍然符合在Podfile里的限制,它就會被更新。
pod update
當你運行 pod update PODNAME 命令時,CocoaPods會幫你找到并更新到這個庫的新版本,而不需要考慮Podfile.lock里面的限制,它會更新到這個庫盡可能的新版本,只要符合Podfile里面的版本限制。
如果你運行pod update,后面沒有跟庫的名字,CocoaPods就會更新每一個Podfile里面的庫到盡可能的最新版本。
正確用法:
你應(yīng)該使用pod update PODNAME(庫名)去只更新某個特定的庫(檢查是否有新版本,并盡可能更新到新的版本)。相反,使用pod install,這個命令不會更新那些已經(jīng)安裝了的庫。
當你在你的Podfile里面添加了一個庫的時候,你應(yīng)該使用pod install,而不是pod update,這樣既安裝了這個庫,也不需要去更新其它的已安裝庫。
你應(yīng)該使用pod update去更新某個特定的庫,或者所有的庫(在Podfile的限制中)。
提交你的Podfile.lock文件:
在此提醒,即使你一向以來,不commit你的Pods文件夾到遠程倉庫,你也應(yīng)該commit并push到遠程倉庫中。 要不然,就會破壞整個邏輯,沒有了Podfile.lock限制你的Pods中的庫的版本。