CocoaPods non funziona in macOS High Sierra


163

Dopo l'aggiornamento a macOS High Sierra CocoaPods non funziona. Mentre è allettante allontanarsi da CocoaPods, sfortunatamente non è in questo momento. Il messaggio di errore è di seguito.

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

Mi rendo conto che l'errore deriva dall'aggiornamento di Ruby, ma qual è la correzione di easy? Cercare di far utilizzare CocoaPods alla nuova versione ruby ​​produce altri errori.

Edit: Per ora ho installato Ruby 2.0con rvm install 2.0.0e rvm use 2.0.0e CocoaPods poi reinstallati sudo gem install cocoapods. Sembra funzionare ora.


Hai aggiornato gli strumenti della riga di comando?
opaco

@matt Sì, sudo xcode-select -s /Applications/Xcode-beta.appe sudo xcode-select --installda lì ho seguito la GUI.
Maciej Swic,

Stavo pensando a quelli qui: developer.apple.com/download/more Spesso trovo che gli strumenti esterni non funzionino fino a quando non li installo.
opaco

Risposte:


417

Secondo https://github.com/CocoaPods/CocoaPods/issues/6778 la reinstallazione di CocoaPods dovrebbe risolvere questo problema:

sudo gem install cocoapods

2
ha funzionato anche per me, dovrebbe essere contrassegnato come soluzione accettata
swalkner

17
Un semplice "brew reinstall cocoapods" ha funzionato (mentre esegue questo comando esatto per te). Grazie per averlo sottolineato.
Markus,

Sebbene funzioni, dovrebbe sicuramente essere un problema di CocoaPods, poiché non è in grado di individuare la versione aggiornata di Ruby. Probabilmente la reinstallazione controlla solo l'installazione e quindi la "corregge".
Hans Knöchel,

gem install cocoapods - non genera alcuna conversione implicita di zero in errore stringa ma "brew reinstall cocoapods" ha fatto il lavoro. grazie @Markus
Krishnan

gem install -n / usr / local / bin cocoapods mi aiuta
Anupam Gupta,

112

Dopo l'aggiornamento a macOS High Sierra, risolvilo con i seguenti comandi:

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

una volta terminato, quindi scrivi sotto il comando:

pod install

Questa soluzione ha funzionato per me ... !!!


1
Ho ricevuto "ERRORE: Durante l'esecuzione di gem ... (Errno :: EPERM) Operazione non consentita @ rb_sysopen - /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/gem" durante l'esecuzione del primo comando, ma l'esecuzione del secondo faceva ancora funzionare "pod install". Grazie.
Bryce Sandlund,

Nonostante l '"avvertimento", dirò comunque grazie qui. Questa è stata l'unica cosa che ha funzionato per me. La semplice reinstallazione di cocoapods (diverse volte) non ha fatto differenza fino a quando non ho eseguito entrambi questi passaggi. Quindi grazie!
huygir,

Ho dovuto eseguire l'aggiornamento ruby ​​con il seguente comando:sudo gem update -n /usr/local/bin --system
Paul Popiel,

Ha funzionato per me (cocoapods 1.5.3).
atereshkov,

27

Ho riscontrato questo errore durante l'installazione di CocoaPods

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

E ho usato questa affermazione. Ha funzionato!

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

1
Questa è l'unica soluzione che sembra funzionare per me. Grazie
Dan Beaulieu,

12

Questo ha funzionato per me, anche se dovevo farlo

sudo gem install cocoapods

9

Questo ha risolto il mio problema:

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

Fornisci una breve spiegazione di ciò che fa il codice pubblicato, quindi le persone che sono nuove a questa tecnologia hanno una modifica per comprendere e riutilizzare la tua risposta :-)
Mathieu VIALES

1
Le persone che non conoscono i cocoapodi dovrebbero saper leggere come gli altri.
thibaut noah,

@MathieuVIALES, il "brew install ruby" presuppone che tu abbia già un packager Homebrew ( brew.sh ). Il comando quindi installa (o probabilmente reinstalla tecnicamente ruby ​​poiché in realtà è necessario ruby ​​per installare Homebrew stesso). La riga successiva "gem install -n / usr / local / bin cocoapods" reinstalla il programma CocoaPod (altro su cocoapods.org ).
Eddie Eddie Eddie

8

Esegui semplicemente il comando seguente:

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

6

Quindi ho riscontrato questo problema anche dopo aver eseguito l'aggiornamento a High Sierra e sembra che ci siano state alcune modifiche a un percorso del file a cui il framework ruby ​​stava accedendo.

Puoi risolverlo usando il,

sudo gem install cocoapods

e quindi aggiorna anche i pod con misure sicure

pod repo update 

e infine

pod install

per far funzionare nuovamente il file pod.

Spero che questo aiuti :)


5

Prova a usare

sudo gem update --system

Prima

sudo gem install cocoapods

Questo ha funzionato per me


5

Questo funziona per me:

brew link --overwrite cocoapods

5

Processo di installazione di Cocoapods:

  1. sudo gem install cocoapods (se hai qualche problema con i cocoapds, aggiorna il file gem)

  2. sudo gem update --system

  3. sudo gem install cocoapods


4

Per me, ho dovuto:

gem uninstall cocoapods
which pod

Lo mostrava ancora nel percorso, quindi l'ho eliminato. Ha fatto in modo che non si presentasse ancora.

Poi

gem install cocoapods

Finalmente ! L'eliminazione del vecchio pod eseguibile prima dell'installazione dei cocoapods ha funzionato per me
Seb Fanals

4

Vai al terminale ...

passo 1). sudo gem installa cocoapods

dopo il completamento dell'installazione dei baccelli del cacao quindi

passo 2). aggiornamento repository pod

Completato


3

Ho anche riscontrato questo errore dopo l'installazione High Sierra.

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

Ho usato la seguente dichiarazione identificata da Danh Huynh (vedi sopra) e ha funzionato!

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

1
Questa è solo una ripetizione di questa risposta esistente , no?
Pang

questo risolto per me
MiMo

3

MacOS High Sierra utilizza ruby ​​2.3 per impostazione predefinita. Dopo averlo aggiornato, alcune vecchie gemme di rubino potrebbero non funzionare correttamente. Questo problema si presenta quando ho eseguito il comando bundle (bundler è una gemma rubino; ​​ha un'utilità chiamata bundle).

Quindi, per chiarire, eventuali vecchie gemme di rubini (cocoapodi, bundler, ecc.) Che stanno tentando di accedere a ruby ​​2.0 falliranno.

La soluzione è reinstallare quelle vecchie gemme in una directory in cui si dispone delle autorizzazioni per scrivere.

Per i cocoapodi,

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

farà il trucco.

Puoi facoltativamente aggiornare il tuo sistema gemma se ti piace beforel'installazione:

sudo gem update --system

Ciò potrebbe richiedere che l'aggiornamento non sia riuscito. Ma in realtà, se si digita:

gem --version

Puoi vedere che l'aggiornamento è andato a buon fine.

Per bundler o altre gemme, prova a fare lo stesso:

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

Informazioni -nsull'opzione. Non perderlo. Puoi controllare la documentazione della gemma se vuoi.

Quindi, la soluzione sta reinstalling the old gemper una directory corretta.


1

Mentre sto facendo lo stesso ho avuto un altro errore a dirlo

ERRORE: Durante l'esecuzione di gem ... (Gem :: FilePermissionError) Non si dispone delle autorizzazioni di scrittura per la directory /Library/Ruby/Gems/2.3.0.

Poi l'ho fatto e ha funzionato bene.

sudo gem uninstall cocoapods

sudo gem install cocoapods

1

Ha avuto lo stesso problema, risoluzione:

  1. Reinstallare ruby

    brew install ruby

  2. Reinstalla Cocoa Pods

    sudo gem install cocoapods


1

Questo è un problema comune quando si esegue l'aggiornamento a Mac OSX High Sierra.

Fix è semplicemente l'installazione di Cocoapods (di nuovo):

sudo gem install cocoapods

1

Eseguire questo sul terminale ha funzionato per me:

sudo gem install cocoapods

0

Dopo aver usato il comando seguente sul terminale, sono in grado di installare i baccelli di cacao nel mio progetto.

sudo gem install cocoapods --source http://rubygems.org

0

Ho anche affrontato questo problema, ma risolto in modo meno drammatico come vari reinstallazione / aggiornamento. Appena aggiornata la variabile d'ambiente PATH per evidenziare la mia versione ruby ​​(2.6.0) esistente.


0

Ho avuto lo stesso problema dopo l'aggiornamento a Catalina.

  1. Ho aggiornato l'installazione di ruby ​​installando prima brew e ruby ​​seguendo queste indicazioni. https://gorails.com/setup/osx/10.15-catalina (ma solo ruby, non rails, ecc.)

  2. Quindi ho reinstallato i cocoapodi usando le istruzioni sopra.

    sudo gem installa cocoapods

Quindi dopo tutto quello che ho ancora ricevuto l'errore sopra. Quindi ho digitato 'zsh' per generare una nuova shell ed estrarre le impostazioni di configurazione nel file ~ / .zshrc. Dopo questo comando 'aggiornamento pod' ha funzionato di nuovo.


0

Soluzione Sudz-friendly .zhs

MacOS moderno scoraggia l'utilizzo sudoe passa da bash a zsh, quindi questa risposta può essere utile se non hai intenzione di combattere con la moda.

  1. Assicurati che .zshenvesista per touch ~/.zshenvcomando. Configurare l'ambiente RubyGems aggiungendo le seguenti righe:

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

    Non dimenticare di riavviare Terminal.

  2. Corri gem install cocoapods.

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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.