cocoapods - 'pod install'需要永远

时间:2014-05-20 09:30:41

标签: ios cocoapods

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

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

  

更新规格报告master

     

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

卡住后没有网络活动。

19 个答案:

答案 0 :(得分:545)

我遇到了同样的问题,我通过运行以下here

命令解决了这个问题
pod repo remove master
pod setup
pod install

答案 1 :(得分:141)

你可以运行

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 repo的大小..如果你是从github克隆的话......你可以使用这个format

/repos/:user/:repo

所以,例如,要找出上面的repo类型

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

并且返回的JSON将具有大小键值。所以上面的回复

"size": 94014,

大约是90mb。难怪它会永远消失! (顺便说一下......在我写这篇文章的时候..它刚刚完成..哈!)


<强>更新 可可豆荚之前甚至开始下载你的podfile中列出的依赖项的一个常见的事情就是下载/更新它自己的repo(他们称之为Setting up Cocoapods Master repo ..看看这个:< / p>

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

坏消息是,如果你按照上面的程序找出可可豆荚回购的大小......你会得到this:“尺寸”:614373,..这是 a很多

这样可以更准确地了解安装自己的仓库所需的时间..您可以使用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

答案 2 :(得分:27)

可能的解决方案:

  1. 更新Cocoa Pod可以解决此问题
  2. 再次清洁和清新安装吊舱

  3. 更新CocoaPods

    打开终端并输入:

    $ sudo gem update cocoapods
    

    重新安装Pod

    第1步

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

    手动

    1. 删除项目构建阶段上的所有Pod记录(标记为红色)
    2. enter image description here

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

        enter image description here

        1. 现在前往项目目录并删除 Podfile.lock *,** Pods 文件夹和工作区(从已删除邮件中删除)。
        2. 自动使用CocoaPods De-Integrate

          安装

          $ [sudo] gem install cocoapods-deintegrate
          

          运行

          $ pod deintegrate
          

          第2步

          我们将再次安装Pods

          更改您所在位置的目录

          $ cd yourprojectdirectory
          
          通过添加您需要的行

          编辑 podfile

          $ open -a Xcode podfile 
          

          $ nano podfile
          

          最终再次安装广告

          $ pod install
          

          希望这有帮助

答案 3 :(得分:18)

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

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

它对我有用。

答案 4 :(得分:13)

正如git-remote-http process running in background所指出的那样。我从活动监视器转到此过程并退出此过程,恢复了过程,该过程停留在&#34; 更新本地规格存储库&#34;在POD INSTALL之后

答案 5 :(得分:7)

这对我有用:

  1. 删除~/.CocoaPods
  2. 下的所有内容
  3. 删除现有的Podfile.lockPods文件夹。
  4. 保持PodFile不变。
  5. 运行sudo gem install cocoapods --verbose
  6. 运行pod install --verbose
  7. 我建议使用--verbose标志,因为在给出命令操作进度时终端不是很好。详细选项有很多帮助!

答案 6 :(得分: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

答案 7 :(得分:6)

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

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

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

pod update

答案 8 :(得分:6)

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

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

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

答案 9 :(得分:4)

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

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

2)确定您需要的所有存储库及其依赖项(在cocoapods上的podspec.json文件中提及这些存储库)并从cocoapods获取其podspec.json文件。在这个specs存储库中添加这些podspec.json文件及其文件夹(比如螺栓的最新版本文件夹)。

3)删除来源&#39; https://github.com/CocoaPods/Specs.git&#39;在podfile中

4)pod update

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

答案 10 :(得分:1)

Pod安装步骤

第一个开放式终端:

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

答案 11 :(得分:1)

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

希望能有所帮助。

答案 12 :(得分:1)

我解决了这个问题:

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

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

答案 13 :(得分:1)

我有同样的问题。运行后

pod install
Setting up CocoaPods master repo

iterm2被困在设置CocoaPods上。

我通过运行

解决了这个问题
sudo gem install CocoaPods

CocoaPods website

中提到了这一点

答案 14 :(得分:0)

在调查了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吊舱并发布新版本来解决的。

我希望这能帮助其他一些who头的人

答案 15 :(得分:0)

发现下载cocoapods的另一种方法是下载可用的快照之一here。它有些旧,但是.bz2压缩文件的下载速度更快。下载后,将其复制到~/.cocoapods/repos/,然后使用bzip2 -dk *.bz2解压缩。

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

最后,当我在项目文件夹中运行pod repo list时,它表明主文件夹已作为回购添加。因为仍然出现错误,即找不到所需的Pod规范,所以我进入了主文件夹,先执行git fetch,然后执行git merge。 git提取花费的时间最长,约为50 KB / s,约一个小时。我遇到了问题,即使用fatal: the remote end hung up unexpectedly而不是拉取和合并。现在它是最新的,我能够获得想要的吊舱。

答案 16 :(得分:0)

11.2019中对我的解决方案

您好,我尝试了很多事情,但没有任何效果。如果您不能这样做,请尝试仅连接到该站点 https://cdn.cocoapods.org/ ,只需使用VPN并进行pod install等。别忘了使用--verbose了解发生了什么。

答案 17 :(得分:0)

即使我在想同样的事情。如果您打开Activity Monitor,您可以看到它正在GIT的名称下载。

我发现这个技巧很有用。

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

答案 18 :(得分:0)

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

pod clean
pod update --verbose