CocoaPods更新過程中出現的坑及解決方法


如果CocoaPods很久沒有更新,那么在search、install、update,都會強制升級他的repo,然后如果安裝他正常的安裝程序,從github上下的時候,你會發現,這個過程不管你翻牆不翻牆,過程都是一樣的慢,而且經常失敗;

所以在網上查看大神們的解決方法的時候,可以直接從https://github.com/CocoaPods/Specs 這里下載,下載完成后,在本地關聯下就可以了,這頭了一天多,終於弄好了,最后感覺還是網絡的原因,不過直接下載specs文件夾還是要快很多;

簡單說下出現的錯誤,都是經常性出現的錯誤:

[!] /usr/bin/git clone https://github.com/CocoaPods/Specs.git master --progress

Cloning into 'master'...
remote: Counting objects: 1117753, done. 
remote: Compressing objects: 100% (75/75), done. 
error: RPC failed; curl 56 SSLRead() return error -98060 KiB/s 
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed

如果正常下載的話,會經常性的出現上述錯誤,翻牆的話,雖然也是很慢,但是能慢慢一直下,最起碼中間不會停,但是如果中間你的電腦鎖屏了或是其他的原因,依然會報上述錯誤,接着就是pod setup繼續安裝,繼續失敗,死循環,牆不牆的根本沒什么卵用;

關於CocoaPods的repo

repo,全稱是Repository,顧名思義就是倉庫的意思,當然就是git托管的倉庫了。上面說過CocoaPods通過這個repo里的信息來獲取各種三方庫的信息,那么我們先來看看安裝完CocoaPods后,首次進行search、install、update,都會有什么效果吧。

搜索Masonry為例,如下:

-> Masonry (1.1.0)
   Harness the power of Auto Layout NSLayoutConstraints with a simplified,
   chainable and expressive syntax.
   pod 'Masonry', '~> 1.1.0'
   - Homepage: https://github.com/cloudkite/Masonry
   - Source:   https://github.com/cloudkite/Masonry.git
   - Versions: 1.1.0, 1.0.2, 1.0.1, 1.0.0, 0.6.4, 0.6.3, 0.6.2, 0.6.1, 0.6.0,
   0.5.3, 0.5.2, 0.5.1, 0.5.0, 0.4.0, 0.3.2, 0.3.1, 0.3.0, 0.2.4, 0.2.3, 0.2.2,
   0.2.1, 0.2.0, 0.1.6, 0.1.5, 0.1.0, 0.0.3, 0.0.2 [master repo]

如果更新repo,或是首次安裝,則會出現如下情況:

1、更新CocoaPods的master repo;

2、從https://github.com/CocoaPods/Specs 這個地址上克隆repo到本地;

3、下載git上的repo,需要下載的文件有1963451個,也就是190萬個。

 

當時真的是沒有什么好辦法,網絡不給力!

——————————————————————————————————————

解決思路:

既然Cocopods需要將一個git倉庫克隆島本地,我們可以直接把所需的repo下好,放到指定路徑下 ~/.cocoapods/repos ,幫CocoaPods創建好本地倉庫,然后關聯下就可以了;

1、終端輸入

open ~/.cocoapods/repos

如圖:

2、下載好Specs文件

3、將下載好的文件如上圖拖到 ~/.cocoapods/repos/master文件夾中,如下圖:

 

4、終端輸入:

cd ~/.cocoapods/repos/master/Specs

5、初始化:

git init

6、關聯倉庫:

git remote add origin https://github.com/CocoaPods/Specs

7、查看是否正常,終端輸入:

pod repo

如下圖:

8、然后進行 pod search 、 pod install操作,你會發現可以安裝成功了,如下圖:

9、pod update執行此操作時,會發現仍然會讓我們更新repo,終端輸入:

pod update --verbose --no-repo-update

達到不更新repo的效果,

 

我們有時 pod search一個三方庫,但卻搜不到這個三方庫的最新版本的時候,也可能是因為repo沒有更新導致的,只要去gitHub找到想用的三方庫,找到最新版本號,寫在Podfile中,然后直接 pod update就好了。以后自己想更新repo了,還是可以通過手動下載的方式進行替換,如果網絡好,也可以直接 pod update,讓CocoaPods自己更新repo,只要能讓我們首次安裝CocoaPods后快點用起來,不被首次CocoaPods更新repo卡住耽誤了時間就好

僅做記錄!
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM