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

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

更新规范回购主机 $ /usr/bin/git pull -no-rebase -no-commit

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


当前回答

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

pod install
Setting up CocoaPods master repo

iterm2卡在了Setting up CocoaPods上。

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

sudo gem install CocoaPods

CocoaPods网站上提到了这一点

其他回答

在花了半天的时间来研究为什么分析依赖关系总是这么久之后,我发现我正在安装最新的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 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。难怪要花这么长时间!(顺便说一句. .在我写这篇文章的时候…刚刚结束。哈!)


更新: 一个常见的事情,可可豆荚做之前,它甚至开始下载的依赖列在你的podfile,是下载/更新自己的repo(他们称之为设置Cocoapods主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.

然后运行吊舱安装

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

尝试清除CocoaPods缓存,重新下载并重新安装所有pod

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

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

pod update

找到了另一种下载cocoapods的方法,就是下载这里提供的快照之一。它有点旧,但是.bz2压缩文件下载起来要快得多。一旦我下载了它,我将它复制到~/。cocoapods/repos/然后我使用bzip2 -dk *.bz2解压缩它。

解压缩需要一段时间,完成后,我将新解压缩文件的扩展名更改为.tar,并执行tar xvf *.tar来解压缩。这将显示正在创建的文件列表,也需要一段时间。

Finally when I ran pod repo list while inside the project folder, it showed the master folder had been added as a repo. Because I still kept getting an error that it was unable to find the specification for the pod I was looking for, I went to the master folder and did git fetch and then git merge. The git fetch took the longest, about an hour at 50 KB/s. I used fetch and merge instead of pull, as I was having issues with it, i.e. fatal: the remote end hung up unexpectedly. It is now up to date and I was able to get the pod I wanted.