pod install vs. pod update

來源于 https://guides.cocoapods.org
原文地址:https://guides.cocoapods.org/using/pod-install-vs-update.html
僅供學(xué)習,如有轉(zhuǎn)摘,請注明出處.


介紹

很多開始使用CocoaPods的人認為pod install僅僅是首次對項目進行CocoaPods設(shè)置時使用传货,而后續(xù)使用pod update就行了瞧预,然后并非如此聪廉。

本指南的目的在于解釋如何適時的使用pod installpod update衩匣。

TL;DR:
  • 無論是對已存在Podfile文件的(項目)運行過pod install,還是僅僅對已經(jīng)使用CocoaPods的項目進行添加或者移除pods操作建炫。(都是)執(zhí)行pod install在項目中去安裝新的pods。

  • 只有在你想把pods更新到更新的版本時才需要執(zhí)行pod update

pod install

首次對項目設(shè)置pods间校,或者每次對(項目中的)podfile進行添加、更新页慷、移除pod等操作執(zhí)行該命令

  • 每次運行pod install憔足,(它)都會根據(jù)Podfile.lock中的每個pods進行下載和安裝。Podfile.lock文件跟蹤了每個已安裝的pods版本并進行 鎖定酒繁。
  • 運行pod install時滓彰,它只會解決Podfile.lock中尚未列出的pods 依賴。
    • 對于Podfile.lock中列出的pods州袒,無需嘗試檢查是否存在新的版本揭绑,直接對指定的pods版本進行下載。

    • 對于Podfile.lock中尚未列出的pods,先搜索與Podfile中描述的相匹配的pods版本(例如 指定版本 1.2 的 ‘MyPod’)他匪。

pod outdated

執(zhí)行pod outdated菇存,CocoaPods會列出所有比Podfile.lock中已存在pods的新版本。這意味著邦蜜,如果對這些(存在新版本的)pods執(zhí)行pod update PODNAME 命令依鸥,它們都會被更新 - 前提是這些新版本仍然與Podfile中的限制相匹配。
說明:如果Podfile中的版本設(shè)置方式為 ~> x.y 則會更新到 【x.最大版本號】悼沈,如果版本設(shè)置為 = x.y贱迟,則不會更新

pod update

當執(zhí)行pod update PODNAME,CocoaPods會嘗試尋找該pod的一個更新版本絮供,不再考慮Podfile.lock中列出的版本关筒。它會盡可能將pod更新到最新版本【前提是這些新版本仍然與Podfile中的限制相匹配】。

如果執(zhí)行pod update時未指定pod name杯缺,CocoaPods將會Podfile中列出的每個pod更新到最新版本蒸播。

使用目的

使用pod update PODNAME,只會更新指定的pod【檢查是否存在新版本并相應(yīng)的更新】萍肆。與pod install不同袍榆,pod update 不會嘗試更新已經(jīng)安裝的的pods 版本。

當在Podfile中增加一個pod時塘揣,應(yīng)該執(zhí)行pod install而非pod update - 安裝此pod包雀,而且避免在此過程中更新已存在的pod。

只有想更新指定pod版本(或者所有pods)時才需要使用pod update亲铡。

提交你的 Podfile.lock

提醒一下才写,即使Pods文件夾不允許提交到共享倉庫也應(yīng)該一直提交&推送Podfile.lock文件奖蔓。

否則赞草,它會打破上述pod install能夠鎖定已安裝pods版本解釋的所有邏輯。

場景舉例

這有個場景來說明一個項目生命周期中各種可能的遇到的使用情況吆鹤。

Stage1: user1 創(chuàng)建項目

user1創(chuàng)建一個項目厨疙,并且準備使用A,B,C(三個pods)。使用這些pods創(chuàng)建Podfile疑务,并且執(zhí)行pod install沾凄。此種情況(該項目)將會安裝A,B,C(三個pods),版本號都定為1.0.0知允。

Podfile.lock 將會保持追蹤并且記錄A,B,C所有安裝的版本都是1.0.0

由于這是首次執(zhí)行pod install撒蟀,而且Pods.xcodeproj項目尚未存在,所以該命令會創(chuàng)建Pods.xcodeproj以及.xcworkspace温鸽,這是該命令附帶的效果保屯,而非主要結(jié)果。

Stage 2: User1 增加一個新的pod

過會,user1準備在項目中的Podfile 中增加Dpod 配椭。

因此虫溜,需要執(zhí)行pod install雹姊,即使首次執(zhí)行pod install 后股缸,Bpod的維護又發(fā)布了1.1.0版本,項目仍然會保持使用1.0.0版本 — 因為user1僅僅是想增加Dpod吱雏,而不希望冒險去更新Bpod敦姻。

這就是某些人使用錯誤的地方,因為他們在這使用了pod update — 可能認為“我想用新的pods更新 project ”歧杏?— 所以使用了pod install 去安裝項目中的新pods

Stage 3: User2 加入項目

從未參加該項目的user2加入了該小組镰惦,克隆好倉庫并執(zhí)行了pod install

Podfile.lock中的內(nèi)容可以保證user2得到與user1正確且相同的pods犬绒。

即使是Cpod維護的最新版本是1.2.0旺入,user2仍將使用Cpod的1.0.0版本。因為那是在Podfile.lock被注冊的版本凯力。即茵瘾,Cpod被Podfile.lock 鎖定為1.0.0

Stage 4: 檢查pod的新版本

稍過些時候,user1準備查看pods是否有更新可用咐鹤。執(zhí)行pod outdated后拗秘,提示pod B1.1.0新版本,pod C1.2.0新版本祈惶。

user1決定更新pod B雕旨,而pod C保持不變;于是捧请,執(zhí)行pod update B凡涩,將pod B1.0.0 更新至 1.1.0(也會同時相應(yīng)的更新Podfile.lock),但是pod C仍保持為1.0.0 版本(不會更新至1.2.0

在Podfile中指定明確的版本仍不夠

待續(xù)...


寫于18年08月22號

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末疹蛉,一起剝皮案震驚了整個濱河市突照,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌氧吐,老刑警劉巖讹蘑,帶你破解...
    沈念sama閱讀 222,104評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異筑舅,居然都是意外死亡座慰,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評論 3 399
  • 文/潘曉璐 我一進店門翠拣,熙熙樓的掌柜王于貴愁眉苦臉地迎上來版仔,“玉大人,你說我怎么就攤上這事÷福” “怎么了益缎?”我有些...
    開封第一講書人閱讀 168,697評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長然想。 經(jīng)常有香客問我莺奔,道長,這世上最難降的妖魔是什么变泄? 我笑而不...
    開封第一講書人閱讀 59,836評論 1 298
  • 正文 為了忘掉前任令哟,我火速辦了婚禮,結(jié)果婚禮上妨蛹,老公的妹妹穿的比我還像新娘屏富。我一直安慰自己,他們只是感情好蛙卤,可當我...
    茶點故事閱讀 68,851評論 6 397
  • 文/花漫 我一把揭開白布狠半。 她就那樣靜靜地躺著,像睡著了一般颤难。 火紅的嫁衣襯著肌膚如雪神年。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,441評論 1 310
  • 那天乐严,我揣著相機與錄音瘤袖,去河邊找鬼。 笑死昂验,一個胖子當著我的面吹牛捂敌,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播既琴,決...
    沈念sama閱讀 40,992評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼占婉,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了甫恩?” 一聲冷哼從身側(cè)響起逆济,我...
    開封第一講書人閱讀 39,899評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎磺箕,沒想到半個月后奖慌,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,457評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡松靡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,529評論 3 341
  • 正文 我和宋清朗相戀三年简僧,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片雕欺。...
    茶點故事閱讀 40,664評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡岛马,死狀恐怖棉姐,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情啦逆,我是刑警寧澤伞矩,帶...
    沈念sama閱讀 36,346評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站夏志,受9級特大地震影響乃坤,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜盲镶,卻給世界環(huán)境...
    茶點故事閱讀 42,025評論 3 334
  • 文/蒙蒙 一侥袜、第九天 我趴在偏房一處隱蔽的房頂上張望蝌诡。 院中可真熱鬧溉贿,春花似錦、人聲如沸浦旱。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽颁湖。三九已至宣蠕,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間甥捺,已是汗流浹背抢蚀。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留镰禾,地道東北人皿曲。 一個月前我還...
    沈念sama閱讀 49,081評論 3 377
  • 正文 我出身青樓,卻偏偏與公主長得像吴侦,于是被迫代替她去往敵國和親屋休。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,675評論 2 359

推薦閱讀更多精彩內(nèi)容