Errore durante l'installazione del pod


95

Ho un progetto funzionante che utilizza un file pod da alcune settimane ormai. Quando ho saputo che alcuni dei miei pod hanno un aggiornamento, ho provato a "installare pod" su ho ricevuto questo strano errore

    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

un altro post ha suggerito di utilizzare la riga di comando 'rm -rf ~ / .cocoapods' ma questo ha fatto sì che i miei cocoapods smettessero di funzionare tutti insieme per tutti i progetti ora per quale progetto provo a 'installare pod' ottengo il messaggio 'Impossibile trovare una specifica per .. 'errore

[!] Impossibile trovare una specifica per CorePlot (= 1.3).


Ho avuto questo problema dopo aver scherzato e cancellato una directory del framework nella Pods/directory.
eremzeit

Risposte:


234

Se sei atterrato qui il 30 gennaio 2014 o dopo tale data, si verificherà un'interruzione in CocoaPods. Si prega di leggere il post del blog correlato trovato qui: http://blog.cocoapods.org/Repairing-Our-Broken-Specs-Repository/

oppure fai:

pod repo remove master
pod setup

1
Wow, è un bel bug. Sono contento di averlo trovato con solo un po 'di ricerca su Google.
Swilliams

1
Questo risolve il problema delle specifiche pod non funzionanti, ma tieni presente che potresti dover reinstallare il tuo repository: pod repo add yourrepo.git
rmooney

2
@AriBraginsky Kyle Fuller sta rispondendo a domande come questa su Twitter, forse questo ti aiuterà: twitter.com/kylefuller/status/429204211478564865
Mark Edington

1
@ AriBraginsky, ho avuto lo stesso errore usando 0.2.5. L'aggiornamento a 0.2.9 dovrebbe risolverlo.
dloomb

1
Ciò richiede ben 700 MB di dati come il 19 dicembre 2019. Fallo solo quando hai tempo e una buona velocità di Internet.
iphondroid

104

risolto da solo il trucco è stato quello di utilizzare $sudo rm -rf ~/.cocoapodsper pulire il repository master cocoapods e poi ha pod installfunzionato senza problemi.

spero che questo aiuti altre persone che hanno riscontrato questo problema


Grazie, grazie, grazie! Ho avuto mal di testa con errori simili ai tuoi. Ora funziona tutto bene!
Neru

5
Non c'è bisogno di sudoquesto.
Pieter Jongsma

Mi hai salvato la giornata !! Ho provato di tutto. Questo ha funzionato. Grazie. @matan poreh
user1899840

18

Il comando di una riga al 100% dead-work è:

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

Ho creato il problema su GitHub traker: # 2185

E la risposta ufficiale è:

Questo è un problema che è già stato risolto da @irrationalfab con commit CocoaPods / CLAide @ 5e023ab. Quindi la correzione dovrebbe essere disponibile nella prossima versione di CocoaPods. Sii paziente


16

Se hai bisogno di un repository di specifiche master pulito puoi provare

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

o se usi CocoaPods 0.23+, usa ~/.cocoapods/repos/master.


Questo non ha funzionato per me. Non sono sicuro di come i subrepository per ogni progetto siano impostati da cocoapods, ma la semplice chiamata git reset --hardal repository principale non ha ripristinato le modifiche che erano state apportate a uno dei repository figlio. Ho finito per rimuovere la mia .cocoapodsdirectory e ricominciare da capo, anche se non tutti sarebbero nella posizione di farlo.
eremzeit

@eremzeit cosa intendi per repository figlio?
Adam Sharp il

Fare questo potrebbe funzionare anche per te: (1) git fetch origin(2) git clean -f(3)git reset --hard origin/master
Shiki

8

Dovrai eliminare manualmente tutte le copie locali del repository Specs e clonare nuovamente la nuova versione del repository Specs. Puoi farlo con i seguenti comandi: $ sudo rm -fr ~/.cocoapods/repos/master $ pod setup


6

quando i miei progetti diventano grandi e ho un file pod di grandi dimensioni, mi imbatto in questo problema un po '.

La mia soluzione è la seguente:

pod repo remove master
pod setup
pod install

2
Il voto negativo presumibilmente è perché è una copia della risposta di Mark Edington.
par

2

È necessario correggere le autorizzazioni e il proprietario dei file

$ 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
Sì! Quello è ciò di cui ho bisogno! Qualsiasi altro metodo aiuta solo per una volta "installazione pod: operazione. In questo momento tutto funziona alla grande, grazie!
skywinder

2

Wow, questo è stato un vero dolore e tutti sembrano avere una soluzione diversa. Per me questa soluzione ha funzionato su più macchine / ambienti in alcune occasioni:

Apparentemente c'è un bug psychche sta causando il problema.

sudo gem uninstall psych
sudo gem install psych -v 2.0.0

C'è una lunga conversazione sul repository CococaPods sul problema e su questa correzione.


0

Solo per condividere la mia soluzione per questo problema:

Poiché si tratta di un problema di git, è possibile utilizzare semplici comandi git per risolverlo (vedere il post di @ AdamSharp). Quello che ha funzionato per me era correre

git clean -d -f

in ~/.cocoapods/repos/master. Questo rimuove in modo ricorsivo tutti i file e le directory non tracciati dal repository. Ti incoraggio a correre:

git clean -d -f --dry-run

Prima di eseguire effettivamente qualsiasi cosa in modo da poter vedere cosa avrebbe fatto. Se dovesse rompere il tuo repository principale CocoaPods, elimina ~/.cocoapods/repos/mastered esegui pod repo update.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.