cocoapods-“ pod安装”需要永远


276

我试图用pod install命令更新现有的Pod ,但是要花很多时间才能运行。

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

更新规格库 master

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

卡住后没有网络活动。


14
卡住90分钟后,pod install进入下一阶段。我想我不是很耐心。
Hai Feng Kao 2014年

10
运行pod install --verbose查看更多调试信息。一般情况是git更新需要太多时间。如果不需要更新,请运行pod install --no-repo-update
Wellbin Huang

2
说说豆荚的质量。这些家伙需要尽快解决。每当我要处理广告连播时,我都会陷入困境。
乔尼2015年

1
@HaiFengKao,我很担心,因为我的互联网不好,我跟踪了它,大约下载了350MB。Thx的链接,我认为cocoapods需要自己的服务器。
GeneCode

2
仍然同样慢5年。大型文件每秒20k。荒谬。
哈森

Answers:


552

我碰到了同样的问题,我通过运行这是考虑下面的命令来解决它在这里

pod repo remove master
pod setup
pod install

64
cocoapods-“ pod repo remove master”永远存在。需要创建新线程吗?:)
dmitrynikolaev 2015年

6
谢谢,它对我有用。您还可以添加--verbose以显示详细的调试信息
信号

2
起初,@ dmitrynikolaev我以为pod repo删除大师也需要永远。但是事实证明,我只需要再等待几分钟。您所需的时间可能会有所不同,因为我不知道您的Pod的配置,只是给它更多的时间。
陈李咏

22
最好在给定的解决方案中添加说明以使其清楚。
DevGansta,

4
$ / usr / bin / git clone github.com/CocoaPods/Specs.git master 甚至克隆到设置中,克隆到“ master”中。您可以跳过pod设置,改为“转到〜/ .cocoapods / repos并运行“ git clone github.com/CocoaPods/Specs.git master”
Ammar Mujeeb,

158

你可以跑

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将具有大小键value。所以上面的返回

"size": 94014,

大约是90mb 难怪它会永远存在!(顺便说一句..我写这篇文章时..它才刚刚完成..哈!)


更新: 可可豆荚甚至开始下载您的Podfile中列出的依赖项之前,做的一件事是下载/更新自己的仓库(他们称其为“ 设置可可豆主仓库”。)。

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


15
这是我见过的唯一有关“ WTF ”的cocoapods的描述。
亚历克斯·格雷

2
主存储库的下载花了我20分钟时间盯着闪烁的光标(而且我只有150Mb的互联网连接和糟糕的
Macbook

specs目录中有17,000多个文件/目录。无论他们在这里做什么,这都不是最友好的方法。
埃里克·雷彭

当我运行此命令时,我的cocoapods告诉我它已经完成。安装。谢谢!
Jameela Huq

在大多数情况下,这是一个很大的依赖关系,需要大量时间才能下载
OhadM

29

可能的解决方案:

  1. 更新可可豆可以解决这个问题
  2. 再次清洁并重新安装荚

更新CocoaPods

打开终端并输入:

$ sudo gem update cocoapods

重新安装吊舱

第1步

从项目中删除所有吊舱(棘手的部分):

手动地

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

在此处输入图片说明

  1. 删除Frameworks文件夹下的libPods.a

在此处输入图片说明

  1. 现在前往项目目录,并删除Podfile.lock *,**荚文件夹和工作空间(删除回收站太)。

自动使用CocoaPods解集成

安装

$ [sudo] gem install cocoapods-deintegrate

$ pod deintegrate

第2步

在这里,我们要重新安装Pods

更改目录位置

$ cd yourprojectdirectory

通过添加所需行来编辑 Podfile

$ open -a Xcode podfile 

要么

$ nano podfile

最后再次安装吊舱

$ pod install

希望这可以帮助


无用。刚刚完成了一次cocoapods的全新安装,pod init和pod的安装永远挂起了
woens

@woens好吧,这取决于您要获取的库。您也可以尝试使用该工具,该工具可以将项目中的Pod取消集成,然后再次运行安装
E-Riddie

没有!这就是重点。当您从init开始,然后安装在空项目上时,会发生这种情况。
woens

@woens你什么都不是什么意思?如果根本没有吊舱,那么安装吊舱的目的在哪里(如果我理解正确的话)?
E-Riddie '16

只是开始一个空项目,并准备它以后再添加。所以:创建一个xcode项目,运行pod init,运行pod install。此时,吊舱安装挂起。
woens


14

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



13

更新了2019年的答案-可可豆荚团队开始使用自己的CDN来解决此问题,这是由于GitHub速率限制所致,如下所述:https : //blog.cocoapods.org/CocoaPods-1.7.2/

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

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

这是正确的答案anno2019。如果仅接受的答案可以更改...
伊恩·肯普

9

这对我有用:

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

我建议使用--verbose标志,因为在执行命令操作时,Terminal并不是很好。详细选项有很大帮助!


5
请注意〜/ .cocoapods上的主存储库很大(〜1GB),因此删除和重新安装需要很长时间。如果我意识到这一点,那么pod install --verbose在删除主存储库之前我会尝试过。
BinaryNate



4

如其他答案中所述,这是永久的,因为可可豆母回购的规模巨大。可以使用以下步骤减少此时间。

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

2)识别您需要的所有存储库及其依赖项(在这些存储库的cocoapods的podspec.json文件中提到),并从cocoapods获取其podspec.json文件。将这些podspec.json文件及其文件夹(例如,螺栓的最新版本文件夹)添加到此规范存储库中。

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

4)pod更新

这将花费更少的时间,因为这仅需要获取和下载所需的Pod,而不是整个cocoapods存储库。就我而言,它可以将广告连播更新时间从平均15-20分钟减少到最多3-4分钟。


1

吊舱安装步骤

第一个开放式终端:

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

1

我遇到了同样的问题,然后我意识到我仍在“ Very Bad Network”上运行Network Conditioner。将其关闭可以解决问题。

希望能对某人有所帮助。



1

我遇到过同样的问题。跑步后

pod install
Setting up CocoaPods master repo

iterm2停留在设置CocoaPods上。

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

sudo gem install CocoaPods

这在CocoaPods网站中提到




0

在11.2019为我解决

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.