CocoaPods no funciona en macOS High Sierra

162

Después de actualizar a macOS High Sierra CocoaPods no funciona. Si bien es tentador alejarse de CocoaPods, desafortunadamente no está dentro del alcance en este momento. El mensaje de error está debajo.

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

Me doy cuenta de que el error se debe a la actualización de Ruby, pero ¿cuál es la solución de easies? Intentar hacer que CocoaPods use la nueva versión ruby ​​produce otros errores.

Editar: por ahora me instalado Ruby 2.0con rvm install 2.0.0y rvm use 2.0.0y CocoaPods volvió a instalar sudo gem install cocoapods. Parece estar trabajando ahora.

Maciej Swic
fuente
¿Actualizaste las herramientas de línea de comandos?
mate
@matt Sí, sudo xcode-select -s /Applications/Xcode-beta.appy sudo xcode-select --installseguí la GUI desde allí.
Maciej Swic
Estaba pensando en los que están aquí: developer.apple.com/download/more A menudo encuentro que las herramientas externas no funcionan hasta que las instalo.
mate

Respuestas:

416

De acuerdo con https://github.com/CocoaPods/CocoaPods/issues/6778, reinstalar CocoaPods debería resolver este problema:

sudo gem install cocoapods
zeisi
fuente
2
funcionó para mí también, debería marcarse como una solución aceptada
swalkner
17
Un simple "brew reinstall cocoapods" funcionó (ya que ejecuta este comando exacto para usted). Gracias por señalar eso.
Markus
Aunque esto funciona, definitivamente debería ser un problema de CocoaPods, ya que no puede localizar la versión actualizada de Ruby. Probablemente reinstalarlo solo verifica la instalación nuevamente y, por lo tanto, la "arregla".
Hans Knöchel
gem install cocoapods: no produce una conversión implícita de nil a error de cadena, pero "brew reinstalar cocoapods" hizo el trabajo. gracias @Markus
krishnan
gem install -n / usr / local / bin cocoapods me ayuda
Anupam Gupta
112

Después de actualizar a macOS High Sierra, corríjalo con los siguientes comandos:

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

una vez que esté terminado, escriba el siguiente comando:

pod install

Esta solución me ha funcionado ... !!!

mital solanki
fuente
1
Obtuve "ERROR: al ejecutar gem ... (Errno :: EPERM) Operación no permitida @ rb_sysopen - /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/gem" al ejecutar el primer comando, pero ejecutar el segundo todavía hizo funcionar la "instalación de pod". Gracias.
Bryce Sandlund
A pesar de la "advertencia", voy a decir gracias aquí de todos modos. Esto fue lo único que funcionó para mí. Simplemente reinstalar cocoapods (varias veces) no hizo ninguna diferencia hasta que hice ambos pasos. ¡Así que gracias!
huygir
Tuve que ejecutar la actualización de ruby ​​con el siguiente comando:sudo gem update -n /usr/local/bin --system
Paul Popiel
Trabajó para mí (cacaopods 1.5.3).
atereshkov
27

Recibí este error al instalar CocoaPods

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

Y usé esta declaración. ¡Funcionó!

sudo gem install cocoapods -n /usr/local/bin
Danh Huynh
fuente
1
Esta es la única solución que parecía funcionar para mí. Gracias
Dan Beaulieu
12

Esto funcionó para mí, aunque tenía que hacer

sudo gem install cocoapods
Andrew Smith
fuente
9

Esto resolvió mi problema:

$ brew install ruby
$ gem install -n /usr/local/bin cocoapods
Đorđe Nilović
fuente
Dé una breve explicación de lo que hace el código publicado para que las personas que son nuevas en esta tecnología tengan un cambio para comprender y reutilizar su respuesta :-)
Mathieu VIALES
1
Las personas nuevas en cocoapods deberían saber leer como los demás.
thibaut noah
@MathieuVIALES, el "brew install ruby" asume que ya tienes el empaquetador Homebrew ( brew.sh ). Ese comando luego se instala (o probablemente reinstala técnicamente ruby, ya que realmente necesita ruby ​​para instalar Homebrew). La siguiente línea "gem install -n / usr / local / bin cocoapods" reinstala el programa CocoaPod (más en cocoapods.org ).
Eddie Eddie Eddie
8

Simplemente ejecute el siguiente comando:

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

Entonces me encontré con este problema también después de haber actualizado a High Sierra, y parece que ha habido algunos cambios en la ubicación del archivo al que estaba accediendo el marco de ruby.

Puedes resolverlo usando el,

sudo gem install cocoapods

y luego actualizar los pods también con medidas seguras

pod repo update 

y finalmente

pod install

para que el archivo pod funcione nuevamente.

Espero que esto ayude :)

T. Hyldgaard
fuente
5

Intenta usar

sudo gem update --system

antes de

sudo gem install cocoapods

Esto funciono para mi

David
fuente
5

Esto funciona para mi:

brew link --overwrite cocoapods
Yun CHEN
fuente
5

Proceso de instalación de Cocoapods:

  1. sudo gem install cocoapods (si tiene algún problema con los cocoapds, actualice el archivo gem)

  2. sudo gem update --system

  3. sudo gem install cocoapods

Sheshu Solo
fuente
4

Para mí, tuve que:

gem uninstall cocoapods
which pod

Todavía lo mostró en el camino, así que lo eliminé. Se aseguró de que todavía no apareciera.

Luego

gem install cocoapods
djunod
fuente
Finalmente ! Eliminar el viejo ejecutable del pod antes de instalar cocoapods funcionó para mí
Seb Fanals
4

Ir a la terminal ...

paso 1). sudo gem instalar cocoapods

después de completar la instalación de las vainas de cacao, entonces

paso 2). actualización de repositorio de pod

Terminado

Azaharuddin Mohammad
fuente
3

También encontré este error después de la instalación High Sierra.

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

Usé la siguiente declaración identificada por Danh Huynh (ver arriba) y funcionó.

sudo gem install cocoapods -n /usr/local/bin
kgangadhar
fuente
1
Esto es solo una repetición de esta respuesta existente , ¿no?
Pang
esto me lo arregló
MiMo
3

MacOS High Sierra usa ruby ​​2.3 de forma predeterminada. Después de actualizarlo, algunas gemas de rubí antiguas podrían no funcionar correctamente. Este problema se me ocurre cuando ejecuté el comando de paquete (bundler es una gema de rubí; tiene una utilidad llamada paquete).

Entonces, para aclarar, cualquier gema de rubí antigua (cocoapods, bundler, etc.) que esté intentando acceder a ruby ​​2.0 fallará.

La solución es reinstalar esas gemas antiguas en un directorio donde tenga permisos para escribir.

Para los cacaopodos,

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

Hará el truco.

Opcionalmente, puede actualizar su sistema de gemas si le gusta beforela instalación:

sudo gem update --system

Esto puede indicarle que la actualización ha fallado. Pero en realidad, si escribe:

gem --version

Puede ver que la actualización ha sido exitosa.

Para bundler u otras gemas, intente hacer lo mismo:

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

Sobre la -nopción No te lo pierdas. Puede consultar la documentación de la gema si lo desea.

Entonces, la solución se trata reinstalling the old gemde un directorio adecuado.

Jiang Wang
fuente
1

Mientras hago lo mismo, recibí otro error diciendo que

ERROR: al ejecutar gem ... (Gem :: FilePermissionError) No tiene permisos de escritura para el directorio /Library/Ruby/Gems/2.3.0.

Luego hice esto y funcionó bien.

sudo gem uninstall cocoapods

sudo gem install cocoapods
Himanth
fuente
1

Tenía un mismo problema, la resolución:

  1. Reinstalar ruby

    brew install ruby

  2. Vuelva a instalar las vainas de cacao

    sudo gem install cocoapods

Anton Eregin
fuente
1

Este es un problema común cuando se actualiza a Mac OSX High Sierra.

Arreglar es simplemente instalar Cocoapods (nuevamente):

sudo gem install cocoapods
Shobhit C
fuente
1

Ejecutar esto en la terminal funcionó para mí:

sudo gem install cocoapods
ANUJ TAYAL
fuente
0

Después de usar el siguiente comando en la terminal, puedo instalar vainas de cacao en mi proyecto.

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

También enfrenté este problema, pero lo solucioné de manera menos dramática como varias reinstalaciones / actualizaciones. Acabo de actualizar la variable de entorno PATH para señalar mi versión ruby ​​existente (2.6.0).

usuario1575878
fuente
0

Tuve el mismo problema después de actualizar a Catalina.

  1. Actualicé la instalación de ruby ​​instalando primero brew and ruby ​​siguiendo estas instrucciones. https://gorails.com/setup/osx/10.15-catalina (pero solo rubí, no rieles, etc.)

  2. Luego reinstalé cocoapods usando las instrucciones anteriores.

    sudo gem instalar cocoapods

Luego, después de todo eso, aún recibí el error anterior. Luego escribí 'zsh' para generar un nuevo shell y obtener ajustes de configuración en el archivo ~ / .zshrc. Después de que este comando 'pod update' funcionó nuevamente.

Larry Ricker
fuente
0

Solución amigable con .zhs sin sudo

MacOS moderno desalienta el uso sudoy cambia de bash a zsh, por lo que esta respuesta puede ser útil si no vas a pelear con la moda.

  1. Asegúrese de que .zshenvexista por touch ~/.zshenvcomando. Configure el entorno RubyGems agregando las siguientes líneas:

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

    No olvides relanzar la Terminal.

  2. Ejecutar gem install cocoapods.
Kelin
fuente
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
fuente