C'est la version courte:
Quand je cours
pod install
je reçois dans un projet Xcode
[!] Pod :: Erreur d'exécution de l'exécutable: impossible d'ouvrir .git/FETCH_HEAD: Permission refusée
Si je cours
Sudo pod install
Je ne reçois aucune erreur, mais mes fichiers installés appartiennent à root et ne peuvent pas être compilés. Je dois donc chown
ces fichiers à un utilisateur normal pour utiliser le compilateur Xcode.
Je suis Lion OSX.
J'ai installé cocoaPods en utilisant
Sudo gem install cocoaPods
Je devais utiliser Sudo
car sans cela je
ERREUR: lors de l'exécution d'une gemme ... (Gem :: FilePermissionError)
Vous n'avez pas les autorisations d'écriture dans le répertoire /Library/Ruby/Gems/1.8.
alors maintenant, j'ai une version root de cocoaPods qui télécharge des bibliothèques Xcode appartenant à la racine.
Est-ce que l'installation Sudo
de cacaoPods est incorrecte ou normale?
Si normal, existe-t-il un moyen de résoudre le problème d'installation du pod?
J'ai résolu ce problème en exécutant la commande suivante:
Sudo chown -R username:groupname ~/Library/Caches/CocoaPods
et
Sudo chown -R username:groupname ~/.cocoapods
Veuillez remplacer username
et groupname
par votre nom d'utilisateur/nom de groupe Mac.
J'ai seulement utilisé (où username
est votre nom d'utilisateur de connexion Mac)
Sudo chown -R username ~/Library/Caches/CocoaPods
et
Sudo chown -R username ~/.cocoapods
quand j'ai essayé avec le paramètre groupname je me suis
chown: username.groupname: illegal user name
Bien sûr, j'ai utilisé mon propre nom d'utilisateur et mon nom de groupe :)
Supprimer les répertoires a fonctionné pour moi:
Sudo rm -R ~/Library/Caches/CocoaPods
Sudo rm -R ~/.cocoapods/repos
Si d'autres problèmes existent encore.
Supprimez le répertoire Pods et le fichier podFile.lock.
Cocoapods ajoute simplement les répertoires à nouveau.
Le problème concerne l'installation par défaut de Ruby par Mac OS X. L’installation de Ruby/Gems appartient à root à l’emplacement que vous avez spécifié.
Ce comportement est normal sauf si vous installez un gestionnaire Ruby. Je recommanderais rbenv mais _RVM est également populaire.
Ceux-ci ont installé votre installation Ruby dans votre dossier $HOME
. De cette façon, votre utilisateur possède les exécutables Ruby et gem.
Avec toutes les erreurs que j'ai eues lors de l'installation de CocoaPod dans certains de mes projets, j'ai finalement réussi à en trouver un modèle. C'est ici:
Accédez à votre dossier de projet à partir du terminal:
$ cd /Users/username/Downloads/MessagesTableViewController-master
Créer un podfile:
$ touch podfile
$ open -e podfile
Une fois le fichier pod créé, accédez-y via le Finder et modifiez-le dans n’importe quel autre éditeur de texte, à l’exception de TextEdit, car TextEdit gâche parfois les apostrophes du fichier pod. J'ai utilisé textWrangler. Écrivez ce qui suit dans le fichier pod. (Notez que ces dépendances concernent les projets prenant en charge iOS version 6.0 et ultérieure.)
platform :ios, '6.0'
pod 'AFNetworking'
Enregistrez le fichier et fermez-le.
Retournez au terminal et voyez la version de votre pod:
$ pod --version
Selon la version de votre pod, si une mise à jour est requise, exécutez cette commande:
$ Sudo gem update
Une fois la mise à jour terminée ou si elle indique qu'elle est déjà à jour, vous devez installer les cocoapods:
$ Sudo gem install cocoapods
Et à la fin, il suffit d’exécuter les commandes suivantes:
$ Sudo pod setup
$ Sudo pod install
Et Viola! C'est fait. Vous verrez un dossier Pods nommé dans votre dossier de projet et la dépendance indiquée dans le fichier pod apparaîtra dans le dossier Pods en tant que sous-dossier.
Bonne codage :)
Solution simple et rapide:
Sudo chmod -R 777 ~/.cocoapods
Sudo chmod -R 777 ~/Library/Caches/CocoaPods
Répondant à la question initiale:
Is Sudo installation of cocoaPods the wrong way or normal way?
Quand je fais un pod install
je reçois:
Analyzing dependencies
CocoaPods 0.36.0.beta.1 is available.
To update use: `Sudo gem install cocoapods --pre`
donc je suppose que Sudo
est OK.
Je l'ai résolu en installant la version la plus récente de Ruby. Instructions ici: https://gorails.com/setup/osx/10.12-sierra J'ai ensuite réussi à exécuter Sudo gem update Sudo gem installer des cocoapods
C'est un problème connu. Il y a plus sur le site officiel de CocoaPods .