Cocoapods - '豆荚安装'需要永远

我试图用pod install命令更新现有的pod,但它需要永远运行。

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

更新规范回购master

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

在它被卡住之后就没有网络活动了。

164878 次浏览

可能的解决方式:

  1. 更新Cocoa Pods可以解决这个问题
  2. 重新清洁和新鲜的安装舱

更新CocoaPods

开端子及类型:

$ sudo gem update cocoapods

重新安装豆荚

步骤1

从你的项目(棘手的部分)中移除所有的pod:

手动 < br >

  1. 删除项目构建阶段上的所有Pods记录(标记为红色)

enter image description here

  1. 删除框架文件夹下的libPods.a

enter image description here

  1. 现在转到项目目录,删除Podfile。锁* * *豆荚文件夹和工作区(也从垃圾中删除)。

自动使用CocoaPods De-Integrate < br >

安装

$ [sudo] gem install cocoapods-deintegrate

运行

$ pod deintegrate

步骤2

在这里,我们将再次安装Pods

改变你的位置你的目录

$ cd yourprojectdirectory

编辑 podfile通过添加你需要的行

$ open -a Xcode podfile

$ nano podfile

最后重新安装pod

$ pod install

希望这能有所帮助

你可以跑

pod install --verbose

看看幕后发生了什么。至少你会知道它卡在哪里(它可能是一个git克隆操作,因为你的网络慢等花费了很长时间)

为了更好地了解为什么它似乎被卡住了(运行冗长会让你得到这样的东西)

-> 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回购的大小。如果你从github克隆..你可以使用这个格式:

/repos/:user/:repo

因此,例如,找出关于上述回购类型

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

返回的JSON将有一个大小键,value。所以上面的返回

"size": 94014,

大约是90mb。难怪要花这么长时间!(顺便说一句. .在我写这篇文章的时候…刚刚结束。哈!)


< >强更新: cocoa pods做的一件常见的事情之前,它甚至开始下载你的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..你可以使用pod setup单独设置cocoa pods主回购:

$ 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

尝试清除CocoaPods缓存,重新下载并重新安装所有pods,如上所述在这里

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


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


pod update

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

pod repo remove master
pod setup
pod install

这对我来说很管用:

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

我建议使用——verbose标志,因为在给出命令操作的进展时,Terminal不是很好。verbose选项帮助很大!

正如这里指出的Git-remote-http进程在后台运行。我从活动监视器进入这个进程,退出这个进程,在pod安装后恢复了卡在“更新本地规格存储库”上的pod进程

我也有同样的问题,然后我意识到我仍然在“非常糟糕的网络”上运行网络调节器。把它关掉就解决了问题。

希望这能帮助到别人。

我是这样解决这个问题的:

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

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

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

pod clean
pod update --verbose

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

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

这对我很管用。

按照下面的步骤来做:

下载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安装-不回购更新

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

正如在其他答案中提到的,它需要永远,因为cocoapods主回购的大小是巨大的。可以通过以下步骤减少此时间。

1)在你的github存储库上创建一个私有的specs文件路径。在podfile中提供路径https://github.com/yourpathForspecs.git'作为源文件。

2)确定你需要的所有存储库及其依赖关系(在podspec中提到过)。Json文件的cocoapods为这些存储库),并获得他们的podspec。cocoapods的Json文件。添加这些podspec。Json文件及其文件夹(例如螺栓的最新版本文件夹)。

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

4) pod更新

这将花费更少的时间,因为这只需要获取和下载你需要的pod,而不是整个cocoapods存储库。 在我的案例中,它将pod更新时间从平均15-20分钟减少到最多3-4分钟。< / p >

就连我也这么想。如果你打开Activity Monitor,你可以看到它正在下载GIT的名称。

我发现这个技巧很有用。

https://stackoverflow.com/a/21916507/563735 < a href = " https://stackoverflow.com/a/21916507/563735 " > < / >

我也有同样的问题。在运行

pod install
Setting up CocoaPods master repo

iterm2卡在了Setting up CocoaPods上。

我通过跑步解决了这个问题

sudo gem install CocoaPods

这在CocoaPods网站中提到

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

< p > TL,博士 您需要将Podfile中的源行更改为:

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

2019年11月为我解决

你好,我尝试了很多东西,但没有工作。试着连接到这个网站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 fetchgit merge。git获取花费的时间最长,以50 KB/s的速度大约需要一个小时。我使用fetch和merge而不是pull,因为我有它的问题,即fatal: the remote end hung up unexpectedly。它现在是最新的,我能够得到我想要的豆荚。

在花了半天时间研究为什么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并发布一个新版本。

我希望这篇文章能帮助到那些正在碰壁的人