300

我试图用该pod install命令更新现有的 pod,但它需要很长时间才能运行。

详细模式显示它被卡在下一行(永远)

更新规范回购master

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

卡住后没有网络活动。

4

19 回答 19

558

我遇到了同样的问题,我通过运行这里给出的以下命令解决了它

pod repo remove master
pod setup
pod install
于 2015-07-09T06:33:34.130 回答
182

你可以跑

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

因此,例如,了解上述回购类型

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

并且返回的 JSON 将有一个 size 键值。所以上面返回了

"size": 94014,

大约是 90mb。难怪它需要永远!(顺便说一句..当我写这个的时候..它刚刚完成..哈!)


更新:可可豆荚在开始下载您的 podfile 中列出的依赖项之前会 做的一件常见事情是下载/更新自己的 repo(他们称之为设置 Cocoapods Master repo .. 看看这个:

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
  ..

坏消息是,如果您按照上述程序找出可可豆仓库有多大......你会得到这个:“size”:614373,......这是很多

因此,为了更准确地了解安装您自己的 repo 需要多长时间。您可以使用以下方法单独设置 cocoa pods master repo 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

于 2014-09-04T06:23:13.827 回答
40

2019 年的更新答案 - cocoa pods 团队转而使用他们自己的 CDN 解决了​​这个问题,这是由于 GitHub 速率限制,如下所述:https ://blog.cocoapods.org/CocoaPods-1.7.2/

TL;DR 您需要将您的源代码行更改为Podfile

source 'https://cdn.cocoapods.org/'
于 2019-10-27T07:08:42.877 回答
29

可能的解决方案:

  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

希望这可以帮助

于 2014-05-20T09:53:38.963 回答
21

我找到了另一种解决问题的方法

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

这个对我有用。

于 2016-04-24T09:02:46.397 回答
14

正如这里所指出的git-remote-http 进程在后台运行。我从 Activity Monitor 进入这个进程并退出这个进程恢复了在 POD INSTALL 之后 卡在“更新本地规范存储库”的 pod 进程

于 2015-09-18T04:47:11.237 回答
14

截至 2016 年 8 月 15 日,回购是一个巨大的 2.39GB 文件。我打开活动监视器来查看终端在做什么。它正在下载这个巨大的文件。

于 2016-08-14T18:52:17.897 回答
11

这对我有用:

  1. 删除下所有内容~/.CocoaPods
  2. 删除现有的Podfile.lockPods文件夹。
  3. 保持您的 PodFile 完好无损。
  4. sudo gem install cocoapods --verbose
  5. pod install --verbose

我建议使用 --verbose 标志,因为终端在执行命令操作时效果不佳。详细选项有很大帮助!

于 2015-09-17T12:19:04.347 回答
7

只需逐步完成以下操作:

下载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

于 2016-07-30T14:44:18.340 回答
6

尝试清除您的 CocoaPods 缓存,重新下载并重新安装所有 pod,如此处所述

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

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

pod update
于 2015-03-04T22:15:01.743 回答
4

正如其他答案中提到的,这需要很长时间,因为 cocoapods 主仓库的大小很大。可以使用以下步骤减少此时间。

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 分钟。

于 2016-11-03T20:16:10.673 回答
1

我遇到了同样的问题,然后我意识到我仍在“非常糟糕的网络”上运行网络调节器。关闭它解决了这个问题。

希望对某人有所帮助。

于 2016-02-03T14:23:42.153 回答
1

我遇到过同样的问题。运行后

pod install
Setting up CocoaPods master repo

iterm2 卡在设置 CocoaPods 上。

我通过运行解决了这个问题

sudo gem install CocoaPods

CocoaPods 网站中提到了这一点

于 2018-01-26T13:47:40.083 回答
1

调查了半天为什么要Analyzing Dependencies永远,我发现我正在安装最新的Firebasepod(7.1.0),它依赖于GoogleAppMeasurement7.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-SDKpod 并发布新版本。

我希望这个可以帮助其他一些正在撞头的人

于 2020-11-11T13:41:26.257 回答
1

甚至我也是这么想的。如果你打开Activity Monitor你可以看到它正在以 GIT 的名义下载一些东西。

我发现这个技巧很有用。

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

于 2016-12-10T11:54:14.490 回答
1

我这样解决了这个问题:

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

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

于 2016-03-09T07:34:42.677 回答
0

找到下载 cocoapods 的另一种方法是下载此处提供的快照之一。它有点旧,但 .bz2 压缩文件的下载速度要快得多。下载后,我将其复制到其中~/.cocoapods/repos/,然后使用bzip2 -dk *.bz2.

解压缩需要一段时间,一旦结束,我将新解压缩文件的扩展名更改为 .tar 并tar xvf *.tar解压缩。这将显示正在创建的文件列表,并且还需要一段时间。

最后,当我pod repo list在项目文件夹中运行时,它显示主文件夹已添加为存储库。因为我仍然不断收到一个错误,它无法找到我正在寻找的 pod 的规范,所以我去了主文件夹并做了git fetch然后git merge. git fetch 耗时最长,大约一个小时,速度为 50 KB/s。我使用 fetch 和 merge 而不是 pull,因为我遇到了问题,即fatal: the remote end hung up unexpectedly. 它现在是最新的,我能够得到我想要的 pod。

于 2020-09-04T09:05:31.003 回答
0

11.2019 中的解决方案

您好,我尝试了很多东西,但没有任何效果。如果您不能,请尝试连接到此站点https://cdn.cocoapods.org/pod install ,只需使用 VPN 并执行其他操作。不要忘记使用它--verbose来了解正在发生的事情。

于 2019-11-25T18:55:02.677 回答
0

有时也会发生在我身上,我只是:

pod clean
pod update --verbose
于 2016-03-31T14:03:40.740 回答