CocoaPods funktionieren nicht in macOS High Sierra

162

Nach dem Upgrade auf macOS funktioniert High Sierra CocoaPods nicht. Obwohl es verlockend ist, sich von CocoaPods zu entfernen, ist es derzeit leider nicht im Geltungsbereich. Die Fehlermeldung ist unten.

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

Mir ist klar, dass der Fehler darauf zurückzuführen ist, dass Ruby aktualisiert wurde, aber wie können die Probleme behoben werden? Der Versuch, CocoaPods dazu zu bringen, die neue Ruby-Version zu verwenden, führt zu anderen Fehlern.

Edit: Für jetzt habe ich installiert Ruby 2.0mit rvm install 2.0.0und rvm use 2.0.0und dann wieder eingebaut CocoaPods sudo gem install cocoapods. Scheint jetzt zu arbeiten.

Maciej Swic
quelle
Haben Sie die Befehlszeilentools aktualisiert?
Matt
@matt Ja, sudo xcode-select -s /Applications/Xcode-beta.appund sudo xcode-select --installund folgte der GUI von dort.
Maciej Swic
Ich habe an die hier gedacht: developer.apple.com/download/more Ich finde oft, dass externe Tools erst funktionieren, wenn ich diese installiere.
Matt

Antworten:

416

Laut https://github.com/CocoaPods/CocoaPods/issues/6778 sollte die Neuinstallation von CocoaPods dieses Problem lösen:

sudo gem install cocoapods
zeisi
quelle
2
arbeitete auch für mich, sollte als akzeptierte Lösung markiert werden
Swalkner
17
Ein einfacher "Cocoapods neu installieren" hat funktioniert (da er genau diesen Befehl für Sie ausführt). Vielen Dank für den Hinweis.
Markus
Obwohl dies funktioniert, sollte es sich definitiv um ein CocoaPods-Problem handeln, da die aktualisierte Ruby-Version nicht gefunden werden kann. Bei einer Neuinstallation wird wahrscheinlich nur erneut nach der Installation gesucht und diese daher "behoben".
Hans Knöchel
gem install cocoapods - löst keine implizite Konvertierung von nil in einen String-Fehler aus, aber "Brew reinstall cocoapods" hat den Job gemacht. danke @Markus
krishnan
gem install -n / usr / local / bin cocoapods hilft mir
Anupam Gupta
112

Beheben Sie das Upgrade nach dem Upgrade auf macOS High Sierra mit den folgenden Befehlen:

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

Sobald es fertig ist, schreiben Sie den folgenden Befehl:

pod install

Diese Lösung hat bei mir funktioniert ... !!!

Mital Solanki
quelle
1
Ich habe "FEHLER: Während der Ausführung von gem ... (Errno :: EPERM) Operation nicht erlaubt @ rb_sysopen - /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/gem" beim Ausführen des ersten Befehls, Beim Ausführen der zweiten Funktion funktionierte die "Pod-Installation" jedoch weiterhin. Vielen Dank.
Bryce
Trotz der "Warnung" werde ich mich hier trotzdem bedanken. Dies war das einzige, was für mich funktioniert hat. Das einfache Neuinstallieren von Cocoapods (mehrmals) machte keinen Unterschied, bis ich beide Schritte ausgeführt hatte. So danke!
Huygir
Ich musste das Ruby-Update über den folgenden Befehl ausführen:sudo gem update -n /usr/local/bin --system
Paul Popiel
Arbeitete für mich (Cocoapods 1.5.3).
Atereshkov
27

Ich habe diesen Fehler bei der Installation der CocoaPods erhalten

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

Und ich habe diese Aussage benutzt. Es funktionierte!

sudo gem install cocoapods -n /usr/local/bin
Danh Huynh
quelle
1
Dies ist die einzige Lösung, die für mich zu funktionieren schien. Danke
Dan Beaulieu
12

Das hat bei mir funktioniert, obwohl ich es tun musste

sudo gem install cocoapods
Andrew Smith
quelle
9

Dies löste mein Problem:

$ brew install ruby
$ gem install -n /usr/local/bin cocoapods
Đorđe Nilović
quelle
Bitte geben Sie eine kurze Erklärung, was der veröffentlichte Code bewirkt, damit Personen, die neu in dieser Technologie sind, Ihre Antwort ändern und wiederverwenden können :-)
Mathieu VIALES
1
Menschen, die neu in Cocoapods sind, sollten wissen, wie man wie die anderen liest.
Thibaut Noah
@MathieuVIALES, der "Brew Install Ruby" setzt voraus, dass Sie bereits einen Homebrew-Packager ( Brew.sh ) haben. Dieser Befehl wird dann installiert (oder installiert Ruby wahrscheinlich technisch neu, da Sie tatsächlich Ruby benötigen, um Homebrew selbst zu installieren). In der nächsten Zeile "gem install -n / usr / local / bin cocoapods" wird das CocoaPod-Programm neu installiert (mehr unter cocoapods.org ).
Eddie Eddie Eddie
8

Führen Sie einfach den folgenden Befehl aus:

sudo gem install -n /usr/local/bin cocoapods
Harshal Wani
quelle
6

Nachdem ich auf High Sierra aktualisiert hatte, stieß ich ebenfalls auf dieses Problem, und es scheint, dass einige Änderungen an einem Speicherort der Datei vorgenommen wurden, auf den das Ruby-Framework zugegriffen hat.

Sie können es mit dem, lösen

sudo gem install cocoapods

und aktualisieren Sie dann auch die Pods mit, um sichere Maßnahmen zu ergreifen

pod repo update 

und schlussendlich

pod install

damit die Pod-Datei wieder funktioniert.

Hoffe das hilft :)

T. Hyldgaard
quelle
5

Versuchen Sie es mit

sudo gem update --system

Vor

sudo gem install cocoapods

Das hat bei mir funktioniert

David
quelle
5

Das funktioniert bei mir:

brew link --overwrite cocoapods
Yun CHEN
quelle
5

Installationsprozess für Cocoapods:

  1. sudo gem install cocoapods (Wenn Sie Probleme mit Cocoapds haben, aktualisieren Sie bitte die Gem-Datei.)

  2. sudo gem update --system

  3. sudo gem install cocoapods

Sheshu Solo
quelle
4

Für mich musste ich:

gem uninstall cocoapods
which pod

Es zeigte es immer noch im Pfad, also habe ich das gelöscht. Stellen Sie sicher, dass es immer noch nicht angezeigt wird.

Dann

gem install cocoapods
Djunod
quelle
Endlich ! Das Löschen der alten ausführbaren Pod-Datei vor der Installation von Cocoapods hat bei mir funktioniert
Seb Fanals
4

Gehe zum Terminal ...

Schritt 1). Sudo Gem installieren Cocoapods

Nach Abschluss der Installation Kakaofrüchte dann

Schritt 2). Pod Repo Update

Abgeschlossen

Azaharuddin Mohammad
quelle
3

Ich habe diesen Fehler auch nach der Installation festgestellt High Sierra.

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

Ich habe die folgende Aussage von Danh Huynh verwendet (siehe oben) und es hat funktioniert!

sudo gem install cocoapods -n /usr/local/bin
kgangadhar
quelle
1
Dies ist nur eine Wiederholung dieser bestehenden Antwort , nicht wahr?
Pang
das hat es für mich behoben
MiMo
3

MacOS High Sierra verwendet standardmäßig Ruby 2.3. Nach dem Upgrade funktionieren einige alte Rubinsteine ​​möglicherweise nicht richtig. Dieses Problem tritt bei mir auf, als ich den Bundle-Befehl ausgeführt habe (Bundler ist ein Ruby-Juwel; es hat ein Dienstprogramm namens Bundle).

Zur Verdeutlichung schlagen alle alten Rubinsteine ​​(Cocoapods, Bundler usw.), die versuchen, auf Ruby 2.0 zuzugreifen, fehl.

Die Lösung besteht darin, diese alten Edelsteine ​​in einem Verzeichnis neu zu installieren, in dem Sie Schreibberechtigungen haben.

Für Cocoapods,

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

wird den Trick machen.

Sie können Ihr Gem-System optional aktualisieren, wenn Sie beforedie Installation mögen :

sudo gem update --system

Dies kann Sie darauf hinweisen, dass das Upgrade fehlgeschlagen ist. Aber tatsächlich, wenn Sie Folgendes eingeben:

gem --version

Sie können sehen, dass das Upgrade erfolgreich war.

Versuchen Sie für Bündler oder andere Edelsteine ​​dasselbe:

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

Über die -nOption. Verpassen Sie das nicht. Sie können die Edelsteindokumentation überprüfen, wenn Sie möchten.

Die Lösung dreht sich also nur um reinstalling the old gemein richtiges Verzeichnis.

Jiang Wang
quelle
1

Während ich das gleiche mache, habe ich einen weiteren Fehler bekommen, der das sagt

FEHLER: Während der Ausführung von gem ... (Gem :: FilePermissionError) Sie haben keine Schreibberechtigungen für das Verzeichnis /Library/Ruby/Gems/2.3.0.

Dann habe ich das gemacht und gut gearbeitet.

sudo gem uninstall cocoapods

sudo gem install cocoapods
Himanth
quelle
1

Hatte das gleiche Problem, Lösung:

  1. Rubin neu installieren

    brew install ruby

  2. Installieren Sie die Kakaofrüchte neu

    sudo gem install cocoapods

Anton Eregin
quelle
1

Dies ist ein häufiges Problem beim Upgrade auf Mac OSX High Sierra.

Fix installiert einfach (wieder) Cocoapods:

sudo gem install cocoapods
Shobhit C.
quelle
1

Das Ausführen auf dem Terminal hat bei mir funktioniert:

sudo gem install cocoapods
ANUJ TAYAL
quelle
0

Nachdem ich den folgenden Befehl auf dem Terminal verwendet habe, kann ich Kakaofrüchte in meinem Projekt installieren.

sudo gem install cocoapods --source http://rubygems.org
Sonam Maniar
quelle
0

Ich habe mich auch mit diesem Problem befasst, es aber weniger dramatisch behoben, da verschiedene Neuinstallationen / Aktualisierungen durchgeführt wurden. Gerade die Umgebungsvariable PATH aktualisiert, um auf meine vorhandene (2.6.0) Ruby-Version hinzuweisen.

user1575878
quelle
0

Ich hatte das gleiche Problem nach dem Upgrade auf Catalina.

  1. Ich habe die Ruby-Installation aktualisiert, indem ich zuerst Brew und Ruby gemäß diesen Anweisungen installiert habe. https://gorails.com/setup/osx/10.15-catalina (aber nur Rubin, keine Schienen usw.)

  2. Dann habe ich Cocoapods gemäß den obigen Anweisungen neu installiert.

    Sudo Gem installieren Cocoapods

Dann habe ich nach all dem immer noch den obigen Fehler erhalten. Dann habe ich 'zsh' eingegeben, um eine neue Shell zu erzeugen und die Konfigurationseinstellungen in der Datei ~ / .zshrc abzurufen. Nach diesem 'Pod Update' Befehl funktionierte wieder.

Larry Ricker
quelle
0

Sudo-freie .zhs-freundliche Lösung

Modernes MacOS rät von der Verwendung ab sudound wechselt von Bash zu Zsh. Daher kann diese Antwort nützlich sein, wenn Sie nicht mit der Mode kämpfen wollen.

  1. Stellen Sie sicher, dass .zshenvauf touch ~/.zshenvBefehl vorhanden ist. Konfigurieren Sie die RubyGems-Umgebung, indem Sie folgende Zeilen hinzufügen:

    export GEM_HOME=$HOME/.gem
    export PATH=$GEM_HOME/bin:$PATH

    Vergessen Sie nicht, Terminal neu zu starten.

  2. Ausführen gem install cocoapods.
kelin
quelle
0
If cannot install new version cocoapods, example below:
1. Please remove Command line tools
sudo rm -rf /Library/Developer/CommandLineTools
2. Install new Command line tools version
sudo xcode-select --install
3. after installing run below command
open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg
Siddhant
quelle