cocoapods - 'pod install' richiede un'eternità


276

Stavo cercando di aggiornare i pod esistenti con pod installcomando, ma ci vuole un'eternità per funzionare.

La modalità dettagliata mostra che era bloccato sulla riga seguente (per sempre)

Aggiornamento repository delle specifiche master

$ / usr / bin / git pull --no-rebase --no-commit

Non ci sono attività di rete dopo che si è bloccato.


14
dopo essere rimasto bloccato per 90 minuti, pod installpassa alla fase successiva. Immagino di non essere molto paziente.
Hai Feng Kao,

10
eseguire pod install --verbose per visualizzare ulteriori informazioni di debug. La situazione generale è che l'aggiornamento di git richiede troppo tempo. Se non hai bisogno di aggiornamenti, esegui pod install --no-repo-update
Wellbin Huang il

2
Dice qualcosa sulla qualità del pod. Quei ragazzi hanno bisogno di ripararlo presto. Mi sto bloccando su questo ogni volta che devo occuparmi di pod.
Jonny il

1
@HaiFengKao, ero preoccupato perché la mia connessione internet non è buona. L'ho rintracciata, sono stati scaricati circa 350 MB. Grazie per il collegamento, penso che i cocoapodi abbiano bisogno di un proprio server.
GeneCode

2
Ancora ugualmente lento a 5 anni di distanza. 20k al secondo per un file enorme. Ridicolo.
Hasen,

Risposte:


552

Ho riscontrato lo stesso problema e l'ho risolto eseguendo i seguenti comandi indicati qui

pod repo remove master
pod setup
pod install

64
cocoapods - 'pod repo remove master' richiede un'eternità. Devi creare una nuova discussione? :)
dmitrynikolaev l'

6
Grazie, funziona per me. E puoi anche aggiungere --verbose per mostrare informazioni dettagliate sul debug
segnale

2
All'inizio @dmitrynikolaev pensavo che anche il repository pod rimuove il master impieghi un'eternità. Ma ho solo bisogno di qualche minuto in più per aspettare. Il tempo necessario può variare perché non conosco la configurazione dei pod, ma gli concedo solo più tempo.
Chen Li Yong

22
Sarebbe bello aggiungere una spiegazione alla soluzione data per chiarire.
DevGansta,

4
Anche la configurazione del pod è bloccata come segue, $ / usr / bin / git clone github.com/CocoaPods/Specs.git master Clonazione in 'master' ... Puoi saltare la configurazione del pod invece di "Vai a ~ / .cocoapods / repos ed esegui 'git clone github.com/CocoaPods/Specs.git master'
Ammar Mujeeb,

158

puoi correre

pod install --verbose 

per vedere cosa sta succedendo dietro le quinte ... almeno saprai dove è bloccato (potrebbe essere un'operazione clone git che impiega troppo tempo a causa della tua rete lenta ecc.)

per avere un'idea ancora migliore del perché sembra bloccato (eseguire verbose può darti qualcosa del genere

-> 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'...

è scoprire la dimensione del repository git che stai clonando .. se stai clonando da github .. puoi usare questo formato :

/repos/:user/:repo

quindi, ad esempio, per scoprire il tipo di repository sopra riportato

https://api.github.com/repos/typhoon-framework/Typhoon

e il JSON restituito avrà una chiave dimensione, valore. quindi quanto sopra riportato

"size": 94014,

che è di circa 90mb. non c'è da stupirsi che ci vuole sempre! (a proposito .. quando l'ho scritto .. è appena finito .. ah!)


aggiornamento: una cosa comune che i baccelli del cacao fanno prima ancora che inizi a scaricare le dipendenze elencate nel tuo podfile, è scaricare / aggiornare il proprio repository (lo chiamano Impostazione del repository Cocoapods Master .. guarda questo:

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
  ..

la cattiva notizia è che se segui la procedura sopra per scoprire quanto è grande il repository di cacao baccello .. otterrai questo : "dimensione": 614373, .. che è molto .

quindi per ottenere un modo più accurato di sapere quanto tempo ci vuole per installare il proprio repository .. è possibile impostare separatamente il repository master di cacao baccelli utilizzando pod setup:

$ 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.

poi correndo pod install


15
Questa è l' unica descrizione coerente dei cocoapodi " WTF " sono "fino a" ... che io abbia mai visto.
Alex Grey,

2
il download del repository master mi ha richiesto 20 minuti fissando solo un cursore lampeggiante (e ho solo una connessione Internet da
150 Mb

Ci sono oltre 17.000 file / directory nella directory delle specifiche. Non è l'approccio più geniale a qualunque cosa diavolo stiano facendo lì.
Erik Reppen,

Quando ho eseguito questo comando, i miei cocoapodi mi hanno mostrato che era finito. con la sua installazione. Grazie!
Jameela Huq,

Il più delle volte si tratta di una grande dipendenza che richiede molto tempo per il download
OhadM,

29

Possibili soluzioni:

  1. L'aggiornamento di Cocoa Pods potrebbe risolvere questo problema
  2. Pod di installazione puliti e freschi di nuovo

Aggiornamento di CocoaPods

Apri terminale e digita:

$ sudo gem update cocoapods

Reinstallare i pod

Passo 1

Rimuovi tutti i pod dal tuo progetto ( parte difficile ):

manualmente

  1. Rimuovi tutti i record Pods dalle fasi di costruzione del tuo progetto (contrassegnato in rosso)

inserisci qui la descrizione dell'immagine

  1. Rimuovere libPods.a nella cartella Frameworks

inserisci qui la descrizione dell'immagine

  1. Ora vai alla directory del progetto e rimuovi Podfile.lock *, ** Cartella Pods e Area di lavoro (Rimuovi anche dal Cestino ).

Utilizzo automatico di CocoaPods De-Integrate

Installare

$ [sudo] gem install cocoapods-deintegrate

Correre

$ pod deintegrate

Passo 2

Qui stiamo per installare nuovamente i Pod

Cambia la tua posizione la tua directory

$ cd yourprojectdirectory

Modifica il podfile aggiungendo le righe necessarie

$ open -a Xcode podfile 

o

$ nano podfile

Installare nuovamente il pod FINALMENTE

$ pod install

Spero che questo ti aiuti


inutili. Ho appena fatto una nuova installazione di cocoapods, pod init e pod pod si blocca per sempre
guasta il

@woens Beh, dipende da quali librerie stai recuperando. Puoi provare anche questo strumento che de-integra i pod dal progetto e quindi eseguire di nuovo l'installazione
E-Riddie

nessuna! questo è il punto. questo accade quando si inizia con init, quindi si installa su un progetto vuoto.
guasta il

@woens Cosa intendi con nessuno? Qual è il punto di installare i pod quando non ci sono affatto pod (se ti ho capito bene)?
E-Riddie,

basta avviare un progetto vuoto e prepararlo per aggiungere cose in seguito. così: crea un progetto xcode, esegui pod init, esegui pod install. In questo momento si blocca l'installazione del pod.
guasta il

19

Ho trovato un altro modo per risolvere il problema

pod install --verbose --no-repo-update

per me funziona.


Devo ancora clonare la prima volta.
Erik Reppen,

14

A partire dal 15 agosto 2016, il repository è un enorme file da 2,39 GB. Ho aperto Activity Monitor per vedere cosa stava facendo il terminale. Stava scaricando questo enorme file.



13

Risposta aggiornata per il 2019: il team dei pod di cacao ha iniziato a utilizzare il proprio CDN per risolvere questo problema, dovuto alla limitazione della velocità di GitHub, come descritto qui: https://blog.cocoapods.org/CocoaPods-1.7.2/

TL; DR È necessario modificare la linea di origine in Podfilequesto a:

source 'https://cdn.cocoapods.org/'

Questa è la risposta corretta anno 2019. Se solo le risposte accettate potessero essere modificate ...
Ian Kemp,

9

Questo è ciò che ha funzionato per me :

  1. Elimina tutto il contenuto in ~/.CocoaPods
  2. Elimina il tuo esistente Podfile.locke la Podscartella.
  3. Lascia intatto il tuo PodFile.
  4. Correre sudo gem install cocoapods --verbose
  5. Correre pod install --verbose

Consiglio di usare il flag --verbose poiché Terminal non è eccezionale quando si procede con un'azione di comando. L'opzione dettagliata aiuta molto!


5
Ricorda che il repository master su ~ / .cocoapods è enorme (~ 1GB), quindi l'eliminazione e la reinstallazione richiedono molto tempo. Se me ne fossi reso conto, avrei provato pod install --verboseprima di ricorrere all'eliminazione del repository master.
BinaryNate

7

Basta seguire la procedura dettagliata di seguito:

Scarica https://github.com/CocoaPods/Specs/archive/master.zip

ESEGUI i comandi di seguito nel terminale:

pod setup --verbose

Apri una nuova scheda nel terminale ed esegui

mv ~/.cocoapods/repos/master/.git ~/tempSpecsGitFolder

open master.zip (decomprimendolo)

mv Specs-master ~/.cocoapods/repos/master

mv ~/tempSpecsGitFolder ~/.cocoapods/repos/master/.git

cd [cartella del progetto]

pod install --no-repo-update


6

Prova a svuotare la cache di CocoaPods, riscaricala e reinstalla tutti i pod come descritto qui

rm -rf "${HOME}/Library/Caches/CocoaPods"

rm -rf "\`pwd\`/Pods/"

pod update

4

Come menzionato in altre risposte, ci vuole un'eternità perché le dimensioni del repository master dei cocoapodi sono enormi. Questo tempo può essere ridotto utilizzando i seguenti passaggi.

1) Crea un percorso di file di specifiche private sul tuo repository github. Fornisci questo percorso https://github.com/yourpathForspecs.git 'come sorgente nel tuo podfile.

2) identificare TUTTI i repository necessari e le relative dipendenze (menzionate nel file podspec.json sui cocoapodi per questi repository) e ottenere i file podspec.json dai cocoapodi. aggiungi questi file podspec.json con la loro cartella (ad esempio la cartella della versione più recente per i bulloni) in questo repository delle specifiche.

3) rimuovere la fonte ' https://github.com/CocoaPods/Specs.git ' nel podfile

4) aggiornamento pod

Ciò richiederà molto meno tempo poiché richiede il recupero e il download dei soli pod necessari invece dell'intero repository di cocoapods. Nel mio caso ha ridotto il tempo di aggiornamento del pod da 15-20 minuti in media a 3-4 minuti al massimo.


1

Passaggi per l'installazione del pod

Primo terminale aperto:

chmod o-w /usr/local

sudo chmod o-w /usr/local

sudo gem install cocoapods

se il pod è già installato nel tuo sistema, procedi nel seguente modo

sudo gem install cocoapods -V

sudo gem update --system

pod setup

cd /Users/apple/Desktop/Black\&WhiteImageDemo

pod init

open -a Xcode Podfile

pod install

1

Ho avuto lo stesso problema, poi mi sono reso conto che stavo ancora eseguendo Network Conditioner su "Very Bad Network". La disattivazione ha risolto il problema.

Spero che aiuti qualcuno.



1

Ho avuto lo stesso problema. Dopo aver corso

pod install
Setting up CocoaPods master repo

Iterm2 era bloccato durante la configurazione di CocoaPods.

Ho risolto il problema correndo

sudo gem install CocoaPods

Questo è menzionato nel sito web CocoaPods


0

A volte capita anche a me e semplicemente:

pod clean
pod update --verbose


0

Soluzione per me nell'11.2019

Ciao, ho provato molte cose, ma niente ha funzionato. Prova solo a connetterti a questo sito https://cdn.cocoapods.org/ se non puoi semplicemente usare VPN e fare pod installecc. E non dimenticare di usare --verboseper capire cosa sta succedendo.

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.