Obteniendo un error de “intérprete erróneo” cuando usa brew

Me aparece este error cuando bash ejecutar cualquier comando de preparación.

Holger-Sindbaeks-MacBook-Air:~ holgersindbaek$ brew help -bash: /usr/local/bin/brew: /usr/bin/ruby: bad interpreter: No such file or directory 

No tengo absolutamente ninguna idea sobre cómo solucionar esto y he estado buscando durante mucho tiempo sin respuesta.

Lo que está recibiendo significa que Homebrew no ha podido ubicar el intérprete de Ruby en la ubicación especificada.

Instale Apple Developer Kit (viene con Xcode) que debería estar disponible para usted como instalación opcional (o simplemente puede descargarlo de Apple). Esto instalará el intérprete de Ruby para usted.

En caso de que ya tenga Xcode instalado, esto significa que una de estas cosas está sucediendo:

  1. Tienes una instalación rota de Ruby
  2. Tienes más de una instalación de Ruby
  3. Su instalación no ha sido configurada correctamente.

Para identificar si este es el primer caso, puede ejecutar ruby y ver si obtiene alguna respuesta.

Si no lo hace, su instalación se interrumpirá y deberá volver a instalarla. Si lo haces, entonces corres which ruby . Esto debería darle la ruta absoluta a su ejecutable de Ruby. Si esto no es /usr/bin/ruby , homebrew (y muchos otros progtwigs) no podrán encontrarlo.

En caso de que no haya alterado su instalación de Ruby, puede verificar si /usr/bin/ruby ya existe o no: cat /usr/bin/ruby . Si obtiene No such file or directory , entonces puede crear fácilmente un enlace simbólico a su instalación de Ruby. Asumiendo la salida de which ruby por /usr/local/bin/ruby , crea el enlace simbólico de esta manera: sudo ln -s /usr/local/bin/ruby /usr/bin/ruby y todo debería estar bien.

Si hay un archivo en esa ubicación, puede ejecutar file /usr/bin/ruby para ver si se trata de un archivo real, un enlace simbólico o un archivo dañado. Si se trata de un enlace simbólico, su instalación debería estar funcionando, y como no es así, probablemente sea un enlace simbólico dañado o un archivo falso.

Puede remediarlo borrándolo primero ( sudo rm /usr/bin/ruby ) y luego creando un nuevo enlace simbólico a la ubicación correcta ( sudo ln -s /usr/local/bin/ruby /usr/bin/ruby ).

Si no funciona lo anterior, debe consultar al equipo homebrew después de una instalación limpia de Xcode y eliminar cualquier rastro de una instalación de Ruby en su sistema.

EDITAR

Alternativamente, como se señala en las otras respuestas, el problema podría ser debido a una mala versión de Ruby en su configuración de Homebrew.

Una solución rápida podría ser la actualización de su Homebrew:

 cd /usr/local git pull -q origin refs/heads/master:refs/remotes/origin/master 

Si esto no ayuda, es posible que desee ensuciarse las manos y solucionar manualmente el problema de la siguiente manera:

  1. Editando brew.rb desde /user/local/Library/brew.rb
  2. Cambiar /1.8/ a /Current/ en la primera línea, lo que hará que el hashbang apunte a la versión actual de Ruby como ejecutor

Si esto tampoco ayuda, también puede modificar la comprobación de MACOS y cambiarla de 10.5 a 10 para evitar el infame error de “Homebrew requires Leopard o superior”.

RENUNCIA

Muchas gracias a otros colaboradores en las respuestas a continuación y sus comentaristas. No estoy cometiendo plagio, simplemente agrego las respuestas en un artículo integrado para ayudar a otros.

Obtuve este error (más o menos lo mismo):

/ usr / local / bin / brew: /usr/local/Library/brew.rb: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby: intérprete incorrecto: ningún archivo o directorio / usr / local / bin / brew: línea 26: /usr/local/Library/brew.rb: error no definido: 0

y corregido por la solución a continuación:

  1. Abre brew.rb :

     $ sudo vim /usr/local/Library/brew.rb 
  2. Cambiar el 1.8 la primera línea a Current :

    Antes de:

     #!/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby -W0 

    Después:

     #!/System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby -W0 

Entonces el brew funciona para mí. Espero que ayude si alguien más tiene este problema. 🙂


Si obtiene el error

Homebrew requiere Leopard o superior. Para obtener asistencia técnica de Tiger, consulte: https://github.com/mistydemeo/tigerbrew

cambie la comprobación de MACOS de <10.5 a <10 .

Consejo por @TimCastelijns:

10.5 no funciona porque, en comparación, es mayor que 10.10 (.1 vs .5). and MACOS_VERSION != 10.10 un cheque ( and MACOS_VERSION != 10.10 ) en lugar de bajar de 10.5 a 10.

Esto sucedió porque necesitaba actualizar brew – en la versión actualizada que ya usa Ruby actual

 cd /usr/local git pull -q origin refs/heads/master:refs/remotes/origin/master 

Esto resolvió el problema

Fijar:

 sudo gem install cocoapods 

A riesgo de simplificar demasiado las cosas, intente ejecutar

 gem install bundler 

Estaba haciendo la transición de mi entorno de Ruby de RBENV a RVM y funcionó para mí.

Ninguno de los anteriores funcionó para mí, así que seguí navegando y encontré esta respuesta, https://stackoverflow.com/a/24225960/1359088 , que me solucionó la brebaje. Él dice en el paso 1 para instalar las herramientas de línea de comandos de XCode 6, pero no dice cómo; usa este comando:

 xcode-select --install 

Después de actualizar a macOS High Sierra, consígalo corregido con los siguientes comandos:

sudo joya instalar cocoapods

Tengo el mismo problema cuando estoy actualizado a MacOSX High Sierra y uso Xcode 9 con eso. High Sierra actualiza la gem ruby ​​a la versión 2.3 pero el comando xcpreety de Xcode 9 aún usa Ruby 2.0 que no puede encontrar ahora y le da un mal intérprete. Solo ve a la Terminal y corre

 sudo gem install xcpretty 

Reinicie Xcode y haga una comstackción limpia y fresca para mí. ¡¡¡Espero eso ayude!!!