web-dev-qa-db-fra.com

Que fait exactement `pod repo update`?

Je suis un tutoriel Internet sur Firebase et, dans le cadre de celui-ci, je devais effectuer quelques tâches en ligne de commande. Je suis assez à l'aise avec la ligne de commande, mais je ne connais pas Cocoapods. J'ai couru pod repo update mais après cela, je me suis rendu compte que je l’exécutais sur l’ensemble du dossier Documents de mon Mac au lieu du dossier contenant mon projet. J'ai pris plus de 20 minutes pour l'exécuter et il a imprimé littéralement des milliers de choses lorsqu'il a finalement été achevé, dont certaines comprenaient "créer" et "supprimé". J'étais un peu inquiet - l'exécution de cette commande aurait-elle modifié quoi que ce soit dans mes documents en dehors du projet Firebase? Et qu'est-ce que pod repo update même faire d'ailleurs?

43
A Tyshka

Selon la documentation mise à jour du référentiel de pod met à jour le référentiel de spécifications situé à l'adresse ~/.cocoapods/repos dans votre dossier personnel.

Met à jour le clone local du nom de repo spec-repo. Si NAME est omis, cela mettra à jour toutes les spéc-repos dans ~/.cocoapods/repos.

Le repo est en gros une liste de tous les pods et versions disponibles. Je viens de rencontrer une erreur dans nos versions de CI parce que le référentiel n'incluait pas de spécification pour une bibliothèque que je viens d'ajouter. En exécutant pod repo update _ il connaît maintenant cette version plus récente et peut continuer à l'installer.

Donc, pour répondre à votre question .. Running pod repo update dans votre dossier de documents ne fera rien dans ce dossier. Il mettra à jour ses références de spécifications de pod dans votre ~/.cocoapods/repos dossier uniquement.

58
Scriptable

Le repo principal des cocoapods n’est rien mais une liste de TOUS les podspecs. A podspec est:

Une spécification décrit une version de la bibliothèque Pod. Il inclut des détails sur le lieu où la source doit être extraite, les fichiers à utiliser, les paramètres de construction à appliquer et d'autres métadonnées générales telles que son nom, sa version et sa description.

Le répertoire specs n’est rien mais une liste de tous les podspecs distincts. Chaque version du podspec est sous un répertoire de balises. Le référentiel ne contient pas le pod lui-même . Le repo contient le podspec. Le podspec donne l'emplacement du repo.

spec.source = { :git => 'https://github.com/tonymillion/Reachability.git', :tag => 'v3.1.0' }

Quand vous faites pod repo update, vous extrayez les derniers podspecs (et non les pods réels) de https://github.com/CocoaPods/Specs

Repo principal de Cocoapods:

enter image description here

Le liste de certains podspecs Alamofire

enter image description here

A podspec simple 4.7.3:

enter image description here

0
Honey