Fehler bei der Pod-Installation


95

Ich habe ein Arbeitsprojekt, das seit einigen Wochen eine Pod-Datei verwendet. Als ich erfuhr, dass einige meiner Pods aktualisiert wurden, habe ich versucht, die Pod-Installation durchzuführen, und diesen seltsamen Fehler erhalten

    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

In einem anderen Beitrag wurde vorgeschlagen, die Befehlszeile 'rm -rf ~ / .cocoapods' zu verwenden. Dies führte jedoch dazu, dass meine Cocoapods nicht mehr für alle Projekte zusammenarbeiten. Für jedes Projekt, für das ich eine Pod-Installation versuche, wird die Spezifikation 'Keine Spezifikation gefunden ..' Error

[!] Es konnte keine Spezifikation für gefunden werden CorePlot (= 1.3).


Ich hatte dieses Problem, nachdem ich herumgespielt und ein Framework-Verzeichnis unter dem Pods/Verzeichnis gelöscht hatte .
Eremzeit

Antworten:


234

Wenn Sie am oder nach dem 30. Januar 2014 hier gelandet sind, gibt es eine Unterbrechung der CocoaPods, die dies verursacht. Bitte lesen Sie den entsprechenden Blog-Beitrag hier: http://blog.cocoapods.org/Repairing-Our-Broken-Specs-Repository/

oder tun:

pod repo remove master
pod setup

1
Wow, das ist ein ziemlicher Fehler. Ich bin froh, dass ich das mit ein bisschen googeln gefunden habe.
Swilliams

1
Dies behebt das Problem mit den defekten Pod-Spezifikationen, aber denken Sie daran, dass Sie möglicherweise Ihr Repo neu installieren müssen: Pod-Repo Fügen Sie yourrepo.git
rmooney am

2
@AriBraginsky Kyle Fuller beantwortet Fragen wie diese auf Twitter, vielleicht hilft Ihnen dies: twitter.com/kylefuller/status/429204211478564865
Mark Edington

1
@ AriBraginsky, ich hatte den gleichen Fehler bei der Verwendung von 0.2.5. Ein Update auf 0.2.9 sollte das Problem beheben.
Dloomb

1
Dies erfordert gute 700 MB Daten zum 19. Dezember 2019. Tun Sie dies nur, wenn Sie Zeit und eine gute Internetgeschwindigkeit haben.
Iphondroid

104

Ich habe es selbst gelöst. Der Trick bestand darin $sudo rm -rf ~/.cocoapods, das Cocoapods Master Repo zu reinigen und dann pod installohne Probleme zu arbeiten.

Ich hoffe, dies hilft anderen Menschen, die auf dieses Problem gestoßen sind


Danke danke danke! Ich hatte Kopfschmerzen mit ähnlichen Fehlern wie Sie. Jetzt funktioniert alles gut!
Neru

5
Keine Notwendigkeit sudodafür.
Pieter Jongsma

Du hast meinen Tag gerettet!! Ich habe alles versucht. Das hat geklappt. Danke dir. @matan poreh
user1899840

18

Der einzeilige Befehl für 100% Totarbeit lautet:

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

Ich habe das Problem auf GitHub Traker erstellt: # 2185

Und die offizielle Antwort lautet:

Dieses Problem wurde bereits von @irrationalfab mit Commit CocoaPods / CLAide @ 5e023ab behoben. Das Update sollte daher in der nächsten Version von CocoaPods verfügbar sein. Hab einfach Geduld


16

Wenn Sie ein sauberes Master Spec Repo benötigen, können Sie es versuchen

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

oder wenn Sie CocoaPods 0.23+ verwenden, verwenden Sie ~/.cocoapods/repos/master.


Das hat bei mir nicht ganz funktioniert. Ich bin nicht sicher, wie die Unterrepos für jedes Projekt von Cocoapods eingerichtet werden, aber nur das Aufrufen git reset --harddes Root-Repos hat die Änderungen, die an einem der untergeordneten Repos vorgenommen wurden, nicht zurückgesetzt. Am Ende habe ich nur mein .cocoapodsVerzeichnis entfernt und von vorne angefangen, obwohl nicht jeder in der Lage wäre, dies zu tun.
Eremzeit

@eremzeit was meinst du mit Kinderrepos?
Adam Sharp

Dies könnte auch für Sie funktionieren: (1) git fetch origin(2) git clean -f(3)git reset --hard origin/master
Shiki

8

Sie müssen alle lokalen Kopien des Specs-Repositorys manuell löschen und die neue Version des Specs-Repositorys erneut klonen. Sie können dies mit den folgenden Befehlen tun: $ sudo rm -fr ~/.cocoapods/repos/master $ pod setup


6

Wenn meine Projekte groß werden und ich eine große Pod-Datei habe, stoße ich ziemlich oft auf dieses Problem.

Meine Lösung lautet wie folgt:

pod repo remove master
pod setup
pod install

2
Die Ablehnung ist vermutlich darauf zurückzuführen, dass es sich um eine Kopie von Mark Edingtons Antwort handelt.
Par

2

Sie müssen Berechtigungen und Dateibesitzer korrigieren

$ 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
Ja! Das ist was ich brauche! Alle anderen Methoden helfen nur einmal "pod install: operation. Im Moment funktioniert alles
super

2

Wow, das war ein echter Schmerz und jeder scheint eine andere Lösung zu haben. Für mich funktionierte diese Lösung bei mehreren Gelegenheiten auf mehreren Maschinen / Umgebungen:

Anscheinend gibt es einen Fehler psych, der das Problem verursacht.

sudo gem uninstall psych
sudo gem install psych -v 2.0.0

Auf dem CococaPods-Repo wird ein langes Gespräch über das Problem und dieses Update geführt.


0

Nur um meine eigene Lösung für dieses Problem zu teilen:

Da dies ein Git-Problem ist, können Sie es mit einfachen Git-Befehlen beheben (siehe Beitrag von @ AdamSharp). Was für mich funktionierte, lief

git clean -d -f

in ~/.cocoapods/repos/master. Dadurch werden alle nicht verfolgten Dateien und Verzeichnisse rekursiv aus dem Repo entfernt. Ich ermutige Sie zu rennen:

git clean -d -f --dry-run

Bevor Sie tatsächlich etwas ausführen, können Sie sehen, was es tun würde. Sollte es Ihr CocoaPods Master Repo beschädigen, löschen Sie es einfach ~/.cocoapods/repos/masterund führen Sie es aus pod repo update.


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.