我试图用pod安装命令更新现有的pod,但它需要很长时间才能运行。
verbose模式显示它被卡在下一行(永远)
更新规范回购主机 $ /usr/bin/git pull -no-rebase -no-commit
在它被卡住之后就没有网络活动了。
我试图用pod安装命令更新现有的pod,但它需要很长时间才能运行。
verbose模式显示它被卡在下一行(永远)
更新规范回购主机 $ /usr/bin/git pull -no-rebase -no-commit
在它被卡住之后就没有网络活动了。
可能的解决方式:
更新Cocoa Pods可以解决这个问题 重新清洁和新鲜的安装舱
更新CocoaPods
开端子及类型:
$ sudo gem update cocoapods
重新安装豆荚
步骤1
从你的项目中删除所有的豆荚(棘手的部分):
手动
删除项目构建阶段的所有pod记录(红色标记)
删除libPods。在Frameworks文件夹下的a
现在转到项目目录并删除Podfile。锁定*,**Pods文件夹和工作区(从垃圾中删除)。
自动使用CocoaPods去集成
安装
$ [sudo] gem install cocoapods-deintegrate
Run
$ pod deintegrate
步骤2
在这里,我们将再次安装Pods
更改您的位置和目录
$ cd yourprojectdirectory
通过添加你需要的行来编辑podfile
$ open -a Xcode podfile
or
$ nano podfile
最后再次安装吊舱
$ 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。难怪要花这么长时间!(顺便说一句. .在我写这篇文章的时候…刚刚结束。哈!)
更新: 一个常见的事情,可可豆荚做之前,它甚至开始下载的依赖列在你的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.
然后运行吊舱安装
尝试清除CocoaPods缓存,重新下载并重新安装所有pod
rm -rf "${HOME}/Library/Caches/CocoaPods"
rm -rf "\`pwd\`/Pods/"
pod update
这对我来说很管用:
删除~/下的所有内容。CocoaPods 删除现有的Podfile。锁和Pods文件夹。 保持PodFile的完整性。 执行sudo gem install cocoapods——verbose命令 运行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/
按照下面的步骤来做:
下载https://github.com/CocoaPods/Specs/archive/master.zip
在终端运行以下命令:
Pod设置—详细
在终端中打开新选项卡并运行
mv ~ - cocoapods repos / -大师。git ~ - tempSpecsGitFolder
打开master.zip(解压缩)
mv Specs-master ~/.cocoapods/repos/master
mv ~/寺庙观景文件夹~/.cocoapods/repos/master/ git
CD[项目文件夹]
Pod安装-不回购更新
正如在其他答案中提到的,它需要永远,因为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更新
这将花费更少的时间,因为这只需要获取和下载你需要的豆荚,而不是整个cocoapods存储库。 在我的案例中,它将pod更新时间从平均15-20分钟减少到最多3-4分钟。
就连我也这么想。如果你打开Activity Monitor,你可以看到它正在以GIT的名字下载一些东西。
我发现这个技巧很有用。
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/
博士TL; 你需要将Podfile中的源代码行更改为:
source 'https://cdn.cocoapods.org/'
2019年11月为我解决
你好,我尝试了很多东西,但没有工作。试着连接到这个网站https://cdn.cocoapods.org/如果你不能使用VPN和做pod安装等。不要忘记使用verbose来理解正在发生的事情。
找到了另一种下载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.
在花了半天的时间来研究为什么分析依赖关系总是这么久之后,我发现我正在安装最新的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并发布一个新版本。
我希望这篇文章能帮助到那些正在碰壁的人