pod install vs. pod update
介紹
剛接觸CocoaPods的很多人似乎都認(rèn)為pod install
只是在第一次安裝使用了CocoaPods的時(shí)候使用,而以后都是用pod update
燃领。但是實(shí)際上完全不是這樣的
這篇文章的目的就是用來(lái)介紹什么時(shí)候用pod install
和什么時(shí)候用pod update
怖喻。
- 在你的工程需要安裝新的pods的時(shí)候使用
pod install
充尉。即使你之前已經(jīng)有Podfile并且已經(jīng)運(yùn)行過(guò)pod install
。甚至是你剛剛才從你使用Cocoapods的工程中添加或者移除pods燥撞。 - 只有當(dāng)你想更新pods到一個(gè)更新的版本的時(shí)候投剥,使用
pod update [PODNAME]
命令的詳細(xì)介紹
pod install
pod install
不僅應(yīng)該在第一次將pods引入工程的時(shí)候使用,也應(yīng)該在每一次編輯Podfile去添加提完、修改和刪除一個(gè)pod的時(shí)候使用形纺。
- 每一次運(yùn)行
pod install
命令丘侠,用來(lái)下載和安裝新的pods徒欣,都會(huì)將每個(gè)pods的安裝版本號(hào)寫入到Podfile.lock
文件中。這個(gè)文件保持追蹤每個(gè)pods的版本并且鎖定它們蜗字。 - 當(dāng)你運(yùn)行
pod install
的時(shí)候打肝,只會(huì)處理那些不存在于Podfile.lock
中的pods的依賴。- 對(duì)于在
Podfile.lock
中已經(jīng)存在的pods挪捕,將會(huì)直接下載podfile.lock
里鎖定的版本而不會(huì)去檢查時(shí)候存在一個(gè)更新的可用版本粗梭。 - 對(duì)在
Podfile.lock
中不存在的pods,將會(huì)查詢符合Podfile
中的描述(比如pod 'myPod','~>1.2'
)的版本级零。
- 對(duì)于在
pod update
當(dāng)你運(yùn)行pod update [PODNAME]
断医,CocoaPods將會(huì)忽略Podfile.lock
里的版本號(hào),而是直接去查詢[PODNAME]
的可更新版本奏纪。它會(huì)依據(jù)Podfile
里的描述去盡量更新到最新的版本鉴嗤。
更進(jìn)一步的使用
使用pod update [PODNAME]
,你可以只更新一個(gè)確切的pod(檢查時(shí)候存在新的版本并有條件的更新)序调。相反的使用pod install
將不會(huì)更新已經(jīng)安裝的pods的版本醉锅。
當(dāng)你添加一個(gè)pod到你的Podfile
的時(shí)候,你應(yīng)該使用pod install
而不是pod update
,從而實(shí)現(xiàn)安裝一個(gè)新的pod而不會(huì)影響其他的已存在的pod发绢。
只有當(dāng)你想更新某個(gè)確切的pod或者所有pods的時(shí)候硬耍,你才應(yīng)該使用pod update
提交你的Podfile.lock文件
作為一個(gè)好習(xí)慣,你應(yīng)該及時(shí)提交并推送你的Podfile.lock
文件到版本庫(kù)边酒。
英文原文鏈接