CocoaPods ne fonctionne pas dans macOS High Sierra

Après la mise à niveau vers macOS High Sierra, CocoaPods ne fonctionne pas. Bien qu’il soit tentant de s’éloigner de CocoaPods, ce n’est malheureusement pas le cas actuellement. Le message d’erreur est ci-dessous.

zsh: /Users/****/.gems/bin/pod: bad interpreter: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin: no such file or directory 

Je me rends compte que l’erreur provient de Ruby en cours de mise à niveau, mais qu’est-ce que le correctif facile? Essayer de faire en sorte que CocoaPods utilise la nouvelle version de Ruby génère d’autres erreurs.

Edit: Pour l’instant j’ai installé Ruby 2.0 avec rvm install 2.0.0 et rvm use 2.0.0 , puis réinstallé CocoPods sudo gem install cocoapods . Semble travailler maintenant.

Selon https://github.com/CocoaPods/CocoaPods/issues/6778, la réinstallation de CocoaPods devrait résoudre ce problème:

 sudo gem install cocoapods 

Après la mise à niveau vers macOS High Sierra, corrigez-le avec les commandes suivantes:

 sudo gem update --system sudo gem install -n /usr/local/bin cocoapods 

une fois terminé, écrivez ci-dessous la commande:

 pod install 

Cette solution a fonctionné pour moi … !!!

J’ai eu cette erreur lors de l’installation des CocoaPods

 ERROR: While executing gem ... (Gem::FilePermissionError) You don't have write permissions for the /usr/bin directory. 

Et j’ai utilisé cette déclaration. Ça a marché!

 sudo gem install cocoapods -n /usr/local/bin 

Cela a fonctionné pour moi, même si je devais faire

 sudo gem install cocoapods 

Ceci a résolu mon problème:

 $ brew install ruby $ gem install -n /usr/local/bin cocoapods 

J’ai donc rencontré ce problème après avoir mis à jour à High Sierra, et il semble que des modifications ont été apscopes à l’emplacement du fichier auquel le framework Ruby avait access.

Vous pouvez le résoudre en utilisant le,

 sudo gem install cocoapods 

puis mettre à jour les modules avec des mesures sécuritaires

 pod repo update 

et enfin

 pod install 

pour que le fichier pod fonctionne à nouveau.

J’espère que ça aide 🙂

Essayez d’utiliser

 sudo gem update --system 

Avant

 sudo gem install cocoapods 

Cela a fonctionné pour moi

Il suffit de lancer la commande ci-dessous:

 sudo gem install -n /usr/local/bin cocoapods 

Aller au terminal …

étape 1). sudo gem installe des cocoapodes

après l’achèvement de l’installation des cabosses de cacao alors

étape 2). mise à jour de repo pod

Terminé

Pour moi, je devais:

 gem uninstall cocoapods which pod 

Il l’a toujours montré dans le chemin, j’ai donc supprimé cela. Assurez-vous qu’il ne s’est toujours pas montré.

alors

 gem install cocoapods 

Processus d’installation de Cocoapods:

  1. sudo gem install cocoapods (si vous avez des problèmes avec cocoapds, veuillez mettre à jour le fichier gem)

  2. sudo gem update --system

  3. sudo gem install cocoapods

Cela fonctionne pour moi:

 brew link --overwrite cocoapods 

J’ai également rencontré cette erreur après l’installation de High Sierra .

 ERROR: While executing gem ... (Gem::FilePermissionError) You don't have write permissions for the /usr/bin directory. 

J’ai utilisé la déclaration suivante identifiée par Danh Huynh (voir ci-dessus) et cela a fonctionné!

 sudo gem install cocoapods -n /usr/local/bin 

Pendant que je fais pareil, j’ai une autre erreur en disant que

ERREUR: lors de l’exécution de gem … (Gem :: FilePermissionError) Vous ne disposez pas d’permissions en écriture pour le répertoire /Library/Ruby/Gems/2.3.0.

Ensuite, je l’ai fait et j’ai bien travaillé.

 sudo gem uninstall cocoapods sudo gem install cocoapods 

Même problème, résolution:

  1. Réinstaller Ruby

    brew install ruby

  2. Réinstaller Cocoa Pods

    sudo gem install cocoapods

C’est un problème courant lors de la mise à niveau vers Mac OSX High Sierra.

Fix installe simplement Cocoapods (à nouveau):

 sudo gem install cocoapods 

MacOS High Sierra utilise ruby ​​2.3 par défaut. Après la mise à niveau, certaines anciennes gemmes rbuy pourraient ne pas fonctionner correctement. Ce problème m’apparaît lorsque j’exécute la commande bundle (bundler est un bijou ruby, il a un utilitaire appelé bundle).

Donc, pour clarifier, toutes les vieilles gemmes rbuy (cocoapods, bundler, etc.) qui tentent d’accéder à ruby ​​2.0 échoueront.

La solution consiste à réinstaller ces anciennes gemmes dans un répertoire où vous êtes autorisé à écrire.

Pour les cacao,

sudo gem install cocoapods -n /usr/local/bin

fera le tour.

Vous pouvez éventuellement mettre à jour votre système de gemmes si vous le souhaitez before l’installation:

sudo gem update --system

Cela peut vous demander que la mise à niveau a échoué. Mais en fait, si vous tapez:

gem --version

Vous pouvez voir que la mise à niveau a réussi.

Pour un bundler ou d’autres gemmes, essayez de faire la même chose:

sudo gem install gem-to-install(for example, bundler) -n /usr/local/bin

A propos de l’option -n . Ne manquez pas ça. Vous pouvez vérifier la documentation de gem si vous voulez.

La solution consiste donc à reinstalling the old gem dans un répertoire approprié.

En cours d’exécution sur le terminal a fonctionné pour moi:

 sudo gem install cocoapods