pod repo update 理解

晨煜煌發表於2018-05-24

先說一下pod官方庫

終端 cd ~/.cocoapods/repos/ , 進入該資料夾下可以發現一個master/資料夾,繼續進Specs/,會發現很多很多以數字命名的資料夾,這裡其實就是官方管理所有pod庫的一個資源庫,如果一直cd,進到最底層,會發現其實到最後是每一個庫的.podspec.json,這裡涉及到.podspec是一個什麼東西,以及關於pod庫的製作,可以自行查閱資料。

我們平時開發pod update或者pod install , 這裡其實 pod的工作就是根據pod庫名在master/Specs/中找到對應的庫,若指定版本則找到指定版本的podspec,否則找最高版本的podspec,找到後根據podsepc檔案中的配置下載指定的庫資源。

那麼pod repo update 的工作就是更新pod資源目錄,也就是master下的資源,簡單說 如果有一個第三方庫釋出了一個最新的版本,如果你不執行pod repo update,那麼你的本地是不會知道有一個最新版本的,還會一直以你本地的資源目錄為準。那麼你永遠都拿不到這個庫的最新版本。

可能有些人會問了,我平時從來不會用pod repo update也可以拿到最新的庫,那是因為在使用pod update是預設會執行一遍pod repo update ,所以會發現如果你的pod庫引用多了,每次pod update都很慢,網路如果不好更是經常會斷掉,就是因為你在更新pod時,也更新了資源目錄

  • pod update 工作流程 : 先拉取遠端最新目錄,再根據目錄中的資源重新更新一遍pod

    如果你的podfile中每個庫都指定了版本還好,如果沒有,那麼每次都是拉一遍最新庫, 這時候就要用到命令

pod update --no-repo-update 這條命令表示只根據本地目錄更新庫,不需要拉取遠端

再說一下有些時候會引用一些私有庫 , pod repo update 會把 ~/.cocoapods/repos/這個目錄下所有的資源庫目錄都更新一遍,有時候不想更新master,只想更新某個具體的私有庫怎麼辦。。命令。。。強大而又實用

pod repo update ~/.cocoapods/repos/***/ 需要更新哪個就指定哪個資料夾就可以了

##有任何問題都可以回覆!!隨時交流,互相學習!!

相關文章