web-dev-qa-db-fra.com

cocoaPods pod install Permission refusée

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?

49
godzilla

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.

94
jianpx

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 :)

19
André Herculano

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. 

11
Martijn Mellens

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.

4
Keith Smiley

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:

  1. Accédez à votre dossier de projet à partir du terminal:

    $ cd /Users/username/Downloads/MessagesTableViewController-master
    
  2. Créer un podfile:

    $ touch podfile
    $ open -e podfile
    
  3. 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'
    
  4. Enregistrez le fichier et fermez-le. 

  5. 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
    
  6. 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
    
  7. 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 :)

4

Solution simple et rapide: 

Sudo chmod -R 777 ~/.cocoapods
Sudo chmod -R 777 ~/Library/Caches/CocoaPods
0
pfrank

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.

0
Snowcrash

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

0
Andre Guerra

C'est un problème connu. Il y a plus sur le site officiel de CocoaPods .

0
DaddyM