安装Pod时出错


95

我有一个工作项目,使用pod文件已有几个星期了。当我得知我的某些吊舱已更新时,我尝试进行“吊舱安装”,出现了这个奇怪的错误

    Analyzing dependencies
    [!] Pod::Executable pull

    Updating 1337455..e9f6e93
    error: The following untracked working tree files would be overwritten by merge:

AeroGear-Push/0.7.0/AeroGear-Push.podspec

AeroGear/1.2.0/AeroGear.podspec

BrynKit/1.3.0/BrynKit.podspec

BrynKit/1.3.1/BrynKit.podspec

CSURITemplate/0.3/CSURITemplate.podspec

EXiLE/1.0.2/EXiLE.podspec

FlurrySDK/4.2.3/FlurrySDK.podspec

FoundationExtension/0.39.1/FoundationExtension.podspec

FoundationExtension/0.39/FoundationExtension.podspec

GCDObjects/0.0.1/GCDObjects.podspec

HTAutocompleteTextField/1.2.1/HTAutocompleteTextField.podspec

HTAutocompleteTextField/1.2.2/HTAutocompleteTextField.podspec

HTAutocompleteTextField/1.2/HTAutocompleteTextField.podspec

IDMPhotoBrowser/1.1.2/IDMPhotoBrowser.podspec

Igor/0.5.0/Igor.podspec

KFOpenWeatherMapAPI/0.2.0/KFOpenWeatherMapAPI.podspec

NGSegmentedViewController/0.1.1/NGSegmentedViewController.podspec

PPiFlatSegmentedControl/1.3/PPiFlatSegmentedControl.podspec

PiwikTracker/2.0.0/PiwikTracker.podspec

SDWebImage/3.4/SDWebImage.podspec

libwbxml/0.11.2/libwbxml.podspec

wbxml/0.0.1/wbxml.podspec

    Please move or remove them before you can merge.

    Aborting

另一篇文章建议使用'rm -rf〜/ .cocoapods'命令行,但这导致我的cocoapods现在停止为所有项目工作,无论我尝试'pod install'的哪个项目,我都会得到'无法找到规格..'错误

[!]找不到的规格CorePlot (= 1.3)


我在弄乱并删除目录下的框架目录后遇到了这个问题Pods/
eremzeit 2014年

Answers:


234

如果您是在2014年1月30日当天或之后降落在这里,则CocoaPods中有一个中断导致此情况。请阅读以下相关博客文章:http : //blog.cocoapods.org/Repairing-Our-Broken-Specs-Repository/

或执行:

pod repo remove master
pod setup

1
哇,那真是个错误。很高兴我发现了一点点谷歌搜索。
游泳

1
这可以解决损坏的pod规范问题,但是请记住,您可能需要重新安装存储库:pod repo add yourrepo.git
rmooney

2
@AriBraginsky凯尔·富勒(Kyle Fuller)在Twitter上回答了这样的问题,也许这会对您有所帮助:twitter.com/kylefuller/status/429204211478564865
Mark Edington 2014年

1
@AriBraginsky,使用0.2.5时出现相同的错误。更新到0.2.9应该可以修复它。
dloomb

1
截至2019年12月19日,这需要700 MB的良好数据。仅在有时间和良好的互联网速度时才执行此操作。
iphondroid

104

我自己解决了这个问题,技巧是使用它$sudo rm -rf ~/.cocoapods来清洗可可豆的主仓库,然后pod install工作没有任何问题。

希望这对遇到此问题的其他人有所帮助


谢谢你,谢谢你,谢谢你!我因类似您的错误而头痛。现在一切正常!
Neru 2014年

5
不需要sudo这个。
Pieter Jongsma 2014年

你救了我的一天!我尝试了一切。这个解决了。谢谢。@matan Holeh
user1899840

18

100%无效工作的单行命令是:

sudo rm -rf ~/.cocoapods && pod setup && pod install

我在GitHub traker上创建了这个问题:#2185

官方的答案是:

此问题已由@irrationalfab通过提交CocoaPods / CLAide @ 5e023ab修复。因此,该修复程序应该在CocoaPods的下一版本中可用。耐心一点


16

如果您需要干净的主规格存储库,可以尝试

cd ~/.cocoapods/master
git reset --hard

或者,如果您使用的是CocoaPods 0.23+,请使用~/.cocoapods/repos/master


这对我来说不是很有效。我不确定cocoapods如何设置每个项目的子存储库,但是仅调用git reset --hard根存储库并不会重置对子存储库之一所做的更改。我最终只是删除.cocoapods目录并重新开始,尽管不是每个人都可以做到这一点。
eremzeit 2014年

@eremzeit您所说的儿童回购是什么意思?
亚当·夏普

这样做也可能对您git fetch origingit clean -fgit reset --hard origin/master
有用

8

您将必须手动删除Specs存储库的任何本地副本,然后重新克隆Specs存储库的新版本。您可以使用以下命令执行此操作: $ sudo rm -fr ~/.cocoapods/repos/master $ pod setup


6

当我的项目变大并且我有一个大的pod文件时,我就遇到了这个问题。

我的解决方案如下:

pod repo remove master
pod setup
pod install

2
投票之所以失败,大概是因为它是马克·爱丁顿的答案的副本。

2

您需要修复权限和文件所有者

$ sudo chown -R user ~/Library/Caches/CocoaPods
$ sudo chown -R user ./Pods
$ sudo chown -R user ./Podfile.lock
$ sudo chmod -R 777 ./Pods

$ pod update/setup

1
是! 那就是我所需要的!任何其他方法仅对一次Pod安装
有用

2

哇,这真是一个痛苦,每个人似乎都有不同的解决方案。对我而言,此解决方案在多种情况下可在多种机器/环境上工作:

显然有一个psych导致此问题的错误。

sudo gem uninstall psych
sudo gem install psych -v 2.0.0

关于此问题和此修复程序,CococaPods存储库上进行了长时间的讨论


0

只是分享我自己的解决方案:

由于这是一个git问题,因此您可以使用简单的git命令来解决它(请参阅@AdamSharp的帖子)。对我有用的是跑步

git clean -d -f

在中~/.cocoapods/repos/master。这将以递归方式从存储库中删除所有未跟踪的文件和目录。我鼓励您跑步:

git clean -d -f --dry-run

在实际执行任何操作之前,您可以看到它会做什么。如果它破坏了您的CocoaPods主存储库,只需删除~/.cocoapods/repos/master并运行即可pod repo update


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.