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.


¿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

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 ... !!!


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

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

9

Esto resolvió mi problema:

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

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

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


5

Intenta usar

sudo gem update --system

antes de

sudo gem install cocoapods

Esto funciono para mi



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


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

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


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

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.


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

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


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

1

Ejecutar esto en la terminal funcionó para mí:

sudo gem install cocoapods

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

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


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.


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.

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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.