pod install 與 pod update的區(qū)別

很多人使用cocoaPods時(shí)往往認(rèn)為 pod install 只是在首次項(xiàng)目配置的時(shí)候使用的,而pod update是稍后更新庫的時(shí)候使用的,但是事實(shí)并非如此

實(shí)際上

->使用pod install 在你的項(xiàng)目中安裝新的庫,即使你已經(jīng)有了Podfile文件并且運(yùn)行過pod install 命令,或者你已經(jīng)有添加,刪除過庫

->使用pod update僅僅是在你想更新庫版本的時(shí)候

詳細(xì)細(xì)節(jié)

pod install:該命令是在你第一個(gè)在項(xiàng)目中獲取庫的時(shí)候使用,并且在每次你對Podfile文件編輯的時(shí)候(添加,更新,刪除)使用

每一次運(yùn)行pod install命令后,都會(huì)去下載安裝新的庫,并且會(huì)修改Podfile.lock文件中記錄的庫版本,Podfile.lock文件是用來追蹤和鎖定這些庫的版本的

運(yùn)行pod install后,它僅僅只能解決Podfile.lock中沒有列出來的依賴關(guān)系

在Podfile.lock中列出來的那些庫,也僅僅是只去下載Podfile.lock中指定的版本,并不會(huì)去檢查最新的版本

沒有在Podfile.lock中列出的那些庫,會(huì)去檢索Podfile中指定的版本,

pod outdated:當(dāng)你使用pod outdated時(shí),CocoaPods會(huì)羅列出所有在Podfile.lock中記錄的有最新版本的庫,意思是,如果你進(jìn)行了pod update PODNAME操作,只要這些庫符合Podfile.lock中的版本限制(如pod MyPod, ‘~>x.y’),那么它就會(huì)更新

pod update:當(dāng)你運(yùn)行了pod update PODNAME命令,CocoaPods將不會(huì)考慮Podfile.lock中列出的版本,而直接去查找該庫的新版本。它將更新到這個(gè)庫盡可能新的版本,只要符合Podfile中的版本限制要求

如果使用pod update命令不帶庫名稱參數(shù),CocoaPods將會(huì)去更新Podfile中每一個(gè)庫的盡可能新的版本

用法:

使用pod update PODNAME可以去更新一個(gè)庫的指定版本(檢查相應(yīng)的庫是否存在更新的版本,并且更新),相對應(yīng)的,使用pod install將不會(huì)更新那些已經(jīng)下載安裝了的庫。

當(dāng)你在Podfile中添加了一個(gè)新的庫時(shí),你應(yīng)該使用pod install命令,而不是pod udpate,這樣安裝了新增的庫,也不會(huì)重復(fù)安裝已經(jīng)存在的庫。

使用pod update僅僅只是去更新指定庫的版本(或者全部庫)

提交你的Podfile.lock文件:

提醒一下,即使你一向不commit你的庫文件到你的共享倉庫,你也應(yīng)該總是commit & push到你的Podfile.lcok文件中。

否則,就會(huì)破壞掉pod install 的整個(gè)設(shè)計(jì)邏輯,造成Podfile.lock文件無法鎖定你已經(jīng)安裝的庫。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容