Erro na instalação do pod


95

Eu tenho um projeto de trabalho que usa um arquivo pod há algumas semanas. Quando soube que alguns dos meus pods foram atualizados, tentei 'instalar o pod' em e recebi este erro estranho

    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

outro post sugeriu o uso da linha de comando 'rm -rf ~ / .cocoapods', mas isso fez com que meus cocoapods parassem de trabalhar todos juntos para todos os projetos agora que tento fazer 'pod install' recebo a mensagem 'Não foi possível encontrar uma especificação para .. 'erro

[!] Não foi possível encontrar uma especificação para CorePlot (= 1.3).


Tive esse problema depois de mexer e excluir um diretório de estrutura do Pods/diretório.
eremzeit

Respostas:


234

Se você pousou aqui em ou depois de 30 de janeiro de 2014, há uma interrupção no CocoaPods causando isso. Leia a postagem do blog relacionada encontrada aqui: http://blog.cocoapods.org/Repairing-Our-Broken-Specs-Repository/

ou faça:

pod repo remove master
pod setup

1
Uau, isso é um bug e tanto. Ainda bem que encontrei isso apenas com um pouco de pesquisa no Google.
swilliams de

1
Isso corrige o problema de especificação do pod quebrado, mas lembre-se de que pode ser necessário reinstalar o repo: pod repo add yourrepo.git
rmooney

2
@AriBraginsky Kyle Fuller está respondendo a perguntas como essa no twitter, talvez isso ajude você: twitter.com/kylefuller/status/429204211478564865
Mark Edington

1
@AriBraginsky, tive o mesmo erro ao usar 0.2.5. Atualizar para 0.2.9 deve corrigir isso.
dloomb

1
Isso requer uns bons 700 MB de dados em 19 de dezembro de 2019. Faça isso apenas quando tiver tempo e boa velocidade de Internet.
iphondroid

104

resolvi por conta própria o truque era usar $sudo rm -rf ~/.cocoapodspara limpar o repositório mestre dos cocoapods e depois pod installfuncionou sem problemas.

espero que isso ajude outras pessoas que encontraram este problema


Obrigado, obrigado, obrigado! Tive dor de cabeça com erros semelhantes aos seus. Agora tudo está funcionando bem!
Neru

5
Não há necessidade sudodisso.
Pieter Jongsma

Você salvou meu dia !! Eu tentei de tudo. Isso funcionou. Obrigado. @matan poreh
user1899840

18

O comando de uma linha 100% dead-work é:

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

Eu criei o problema no GitHub traker: # 2185

E a resposta oficial é:

Este é um problema que já foi corrigido por @irrationalfab com commit CocoaPods / CLAide @ 5e023ab. Portanto, a correção deve estar disponível na próxima versão do CocoaPods. Apenas seja paciente


16

Se você precisa de um repositório de especificações master limpo, você pode tentar

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

ou se você estiver no CocoaPods 0.23+, use ~/.cocoapods/repos/master.


Isso não funcionou muito bem para mim. Não tenho certeza de como os subrepos de cada projeto são configurados por cocoapods, mas apenas chamar git reset --hardo repo raiz não redefiniu as alterações feitas em um dos repositórios filhos. Acabei removendo meu .cocoapodsdiretório e começando de novo, embora nem todos estivessem em posição de fazer isso.
eremzeit

@eremzeit, o que você quer dizer com repositórios infantis?
Adam Sharp

Fazer isso também pode funcionar para você: (1) git fetch origin(2) git clean -f(3)git reset --hard origin/master
Shiki

8

Você terá que excluir manualmente quaisquer cópias locais do repositório Specs e clonar novamente a nova versão do repositório Specs. Você pode fazer isso com os seguintes comandos: $ sudo rm -fr ~/.cocoapods/repos/master $ pod setup


6

quando meus projetos ficam grandes e eu tenho um arquivo pod grande, eu me deparo com esse problema.

Minha solução é a seguinte:

pod repo remove master
pod setup
pod install

2
O downvote provavelmente é porque é uma cópia da resposta de Mark Edington.
par

2

Você precisa corrigir as permissões e o proprietário dos arquivos

$ 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
Sim! Isso é o que eu preciso! Qualquer outro método ajuda apenas para uma "operação de instalação de pod. Agora tudo funciona muito bem, obrigado!
skywinder

2

Uau, este tem sido uma verdadeira dor e todos parecem ter uma solução diferente. Para mim, esta solução funcionou em várias máquinas / ambientes em algumas ocasiões:

Aparentemente, há um bug psychque está causando o problema.

sudo gem uninstall psych
sudo gem install psych -v 2.0.0

Há uma longa conversa no repositório CococaPods sobre o problema e essa correção.


0

Apenas para compartilhar minha própria solução para esse problema:

Visto que este é um problema do git, você pode usar comandos git simples para resolvê-lo (veja a postagem de @AdamSharp). O que funcionou para mim foi correr

git clean -d -f

no ~/.cocoapods/repos/master. Isso remove recursivamente quaisquer arquivos e diretórios não rastreados do repo. Eu encorajo você a correr:

git clean -d -f --dry-run

Antes de realmente executar qualquer coisa para ver o que faria. Se ele quebrar seu repositório mestre CocoaPods, simplesmente exclua ~/.cocoapods/repos/mastere execute pod repo update.


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.