簡體   English   中英

cocoapods - 'pod install' 需要永遠

[英]cocoapods - 'pod install' takes forever

我試圖用pod install命令更新現有的pod install ,但它需要永遠運行。

詳細模式顯示它卡在下一行(永遠)

更新規范 repo master

$ /usr/bin/git pull --no-rebase --no-commit

卡住后沒有網絡活動。

我遇到了同樣的問題,我通過運行這里給出的以下命令解決了它

pod repo remove master
pod setup
pod install

你可以跑

pod install --verbose 

看看幕后發生了什么……至少你會知道它卡在哪里(它可能是一個 git clone 操作,由於你的網絡速度慢等而花費了太長時間)

更好地了解為什么它似乎卡住了(運行詳細可以讓你得到這樣的東西

-> Installing Typhoon (2.2.1)
 > GitHub download
 > Creating cache git repo (~/Library/Caches/CocoaPods/GitHub/0363445acc1ed036ea1f162b4d8d143134f53b92)
 > Cloning to Pods folder
       $ /usr/bin/git clone https://github.com/typhoon-framework/Typhoon.git ~/Library/Caches/CocoaPods/GitHub/0363445acc1ed036ea1f162b4d8d143134f53b92 --mirror
       Cloning into bare repository '~/Library/Caches/CocoaPods/GitHub/0363445acc1ed036ea1f162b4d8d143134f53b92'...

是找出您要克隆的 git repo 的大小.. 如果您從 github 克隆.. 您可以使用以下格式

/repos/:user/:repo

因此,例如,要了解上述 repo 類型

https://api.github.com/repos/typhoon-framework/Typhoon

並且返回的 JSON 將有一個大小鍵值。 所以上面的返回

"size": 94014,

這是大約 90mb。 難怪它需要永遠! (順便說一句......當我寫這篇文章的時候......它剛剛完成......哈!)


更新:可可豆莢開始下載您的 podfile 中列出的依賴項之前所做的一件常見的事情是下載/更新它自己的倉庫(他們稱之為設置 Cocoapods 主倉庫..看看這個:

pod install --verbose

Analyzing dependencies

Updating spec repositories
  $ /usr/bin/git rev-parse  >/dev/null 2>&1
  $ /usr/bin/git ls-remote
  From https://github.com/CocoaPods/Specs.git
  09b0e7431ab82063d467296904a85d72ed40cd73  HEAD
  ..

壞消息是,如果你按照上面的過程,找出可可豆莢回購多大..你會得到這樣:“大小”:614373,...這是很多

所以為了更准確地了解安裝自己的倉庫需要多長時間..您可以使用pod setup單獨設置可可豆主倉庫:

$ pod help setup
Usage:

$ pod setup

  Creates a directory at `~/.cocoapods/repos` which will hold your spec-repos.
  This is where it will create a clone of the public `master` spec-repo from:

      https://github.com/CocoaPods/Specs

  If the clone already exists, it will ensure that it is up-to-date.

然后運行pod install

2019 年的更新答案 - Cocoa Pods 團隊轉而使用他們自己的 CDN 解決了​​這個問題,這是由於 GitHub 速率限制,如下所述: https : //blog.cocoapods.org/CocoaPods-1.7.2/

TL;DR 您需要將Podfile的源代碼行更改為:

source 'https://cdn.cocoapods.org/'

可能的解決方案:

  1. 更新 Cocoa Pods 可能會解決這個問題
  2. 再次清潔和全新安裝 Pod

更新 CocoaPods

打開終端並輸入:

$ sudo gem update cocoapods

重新安裝 Pod

第1步

從您的項目中刪除所有 pod(棘手的部分):

手動

  1. 刪除項目構建階段的所有 Pod 記錄(標記為紅色)

在此處輸入圖片說明

  1. 刪除Frameworks文件夾下的libPods.a

在此處輸入圖片說明

  1. 現在前往項目目錄並刪除Podfile.lock*、**Pods文件夾和工作區(也從垃圾箱中刪除)。

自動使用CocoaPods De-Integrate

安裝

$ [sudo] gem install cocoapods-deintegrate

$ pod deintegrate

第2步

在這里,我們將再次安裝 Pod

更改您的位置您的目錄

$ cd yourprojectdirectory

通過添加您需要的行來編輯podfile

$ open -a Xcode podfile 

或者

$ nano podfile

最后再次安裝 pod

$ pod install

希望這可以幫助

我找到了另一種解決問題的方法

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

這個對我有用。

正如這里指出的git-remote-http 進程在后台運行 我從活動監視器轉到這個過程,退出這個過程恢復了在 POD INSTALL 后卡在“更新本地規范存儲庫”上的 pod 進程

截至 2016 年 8 月 15 日,repo 是一個巨大的 2.39GB 文件。 我打開活動監視器查看終端在做什么。 它正在下載這個巨大的文件。

這對我有用:

  1. 刪除~/.CocoaPods下的所有內容
  2. 刪除現有的Podfile.lockPods文件夾。
  3. 保持 PodFile 完好無損。
  4. 運行sudo gem install cocoapods --verbose
  5. 運行pod install --verbose

我建議使用 --verbose 標志,因為終端在給出命令操作的進度時不是很好。 詳細選項有很大幫助!

只需逐步完成以下操作:

下載https://github.com/CocoaPods/Specs/archive/master.zip

在終端中運行以下命令:

pod setup --verbose

在終端中打開新標簽並運行

mv ~/.cocoapods/repos/master/.git ~/tempSpecsGitFolder

打開 master.zip(解壓)

mv Specs-master ~/.cocoapods/repos/master

mv ~/tempSpecsGitFolder ~/.cocoapods/repos/master/.git

cd [項目文件夾]

pod install --no-repo-update

嘗試清除 CocoaPods 緩存,按照此處所述重新下載並重新安裝所有 Pod

rm -rf "${HOME}/Library/Caches/CocoaPods"

rm -rf "\`pwd\`/Pods/"

pod update

正如其他答案中提到的,這需要永遠,因為 cocoapods master repo 的大小很大。 可以使用以下步驟減少此時間。

1) 在您的 github 存儲庫上創建私有規范文件路徑。 提供此路徑https://github.com/yourpathForspecs.git ' 作為 podfile 中的源。

2) 確定您需要的所有存儲庫及其依賴項(在這些存儲庫的 cocoapods 上的 podspec.json 文件中提到)並從 cocoapods 獲取它們的 podspec.json 文件。 將這些 podspec.json 文件及其文件夾(例如螺栓的最新版本文件夾)添加到此規范存儲庫中。

3) 在 podfile 中刪除源 ' https://github.com/CocoaPods/Specs.git '

4)豆莢更新

這將花費更少的時間,因為這需要僅獲取和下載您需要的 pod,而不是整個 cocoapods 存儲庫。 就我而言,它將 pod 更新時間從平均 15-20 分鍾減少到最多 3-4 分鍾。

吊艙安裝步驟

第一個開放式終端:

chmod o-w /usr/local

sudo chmod o-w /usr/local

sudo gem install cocoapods

如果系統中已經安裝了Pod,請按照以下步驟操作

sudo gem install cocoapods -V

sudo gem update --system

pod setup

cd /Users/apple/Desktop/Black\&WhiteImageDemo

pod init

open -a Xcode Podfile

pod install

我遇到了同樣的問題,然后我意識到我仍在“非常糟糕的網絡”上運行網絡調節器。 關閉它解決了這個問題。

希望能幫助某人。

我這樣解決了這個問題:

rm -fr ~/Library/Caches/CocoaPods && \
gem update --system && \
gem update && \
gem cleanup && \
pod setup

參考: http : //blog.cocoapods.org/Repairing-Our-Broken-Specs-Repository/

就連我也是這么想的。 如果您打開Activity Monitor您可以看到它正在以 GIT 的名義下載一些東西。

我發現這個提示很有用。

https://stackoverflow.com/a/21916507/563735

我遇到過同樣的問題。 運行后

pod install
Setting up CocoaPods master repo

iterm2 停留在設置 CocoaPods 上。

我通過運行解決了這個問題

sudo gem install CocoaPods

這是在CocoaPods 網站中提到的

經過半天的調查為什么Analyzing Dependencies需要永遠,我發現我正在安裝最新的Firebase pod (7.1.0),它依賴於GoogleAppMeasurement 7.1.0 版,還有另一個 pod,這是一個廣告中介框架,其中包括Google-Mobile-Ads-SDK 此 SDK 依賴於低得多的GoogleAppMeasurement ~ 6.0 版本。 我能夠通過從廣告中介中注釋掉沖突的 pod 來安裝 pod。 像這樣的東西:

# Ad network framework
  pod 'SomeMediationNetwork/Core'
#  pod 'SomeMediationNetwork/GoogleMobileAds' # - the conflicting pod
  pod 'SomeMediationNetwork/Facebook'
  pod 'SomeMediationNetwork/SmartAdServer'
  pod 'SomeMediationNetwork/Mopub'

我不得不聯系廣告中介庫發布商來解決這個問題,最有可能的方法是更新到最新的Google-Mobile-Ads-SDK pod 並發布新版本。

我希望這個可以幫助其他一些正在敲頭的人

有時也會發生在我身上,我只是:

pod clean
pod update --verbose

11.2019 為我提供的解決方案

你好,我嘗試了很多東西,但沒有任何效果。 嘗試連接到這個站點https://cdn.cocoapods.org/如果你不能,那么就使用 VPN 並進行pod install等。不要忘記使用--verbose來了解正在發生的事情。

找到下載 cocoapods 的另一種方法是下載此處提供的快照之一。 它有點舊,但 .bz2 壓縮文件的下載速度要快得多。 下載后,我將其復制到~/.cocoapods/repos/然后使用bzip2 -dk *.bz2壓縮。

解壓縮需要一段時間,一旦完成,我將新解壓縮文件的擴展名更改為 .tar 並執行tar xvf *.tar解壓縮。 這將顯示正在創建的文件列表,也需要一段時間。

最后,當我在項目文件夾內運行pod repo list時,它顯示主文件夾已添加為 repo。 因為我仍然不斷收到一個錯誤,說它無法找到我正在尋找的 pod 的規范,所以我轉到主文件夾並執行git fetch ,然后執行git merge git fetch 耗時最長,大約一個小時,速度為 50 KB/s。 我使用 fetch 和 merge 而不是 pull,因為我遇到了問題,即fatal: the remote end hung up unexpectedly 它現在是最新的,我能夠得到我想要的吊艙。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM