es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puedo evitar este error de instrucción ilegal de Ruby al actualizar un CocoaPod?

TLDR: Ruby informa de una instrucción ilegal cuando intento actualizar mi pod, tal vez porque estoy usando dos versiones diferentes de él.

No estoy seguro cuál es mi problema y con gusto agregaré más información si es útil.

Obtuve una nueva Mac M1 Pro y he estado tratando de hacer que un proyecto de XCode (una aplicación iOS) funcione en él. Se compila correctamente para mi teléfono, pero falla al compilarse para los simuladores. Basado en esta respuesta, intenté actualizar cocoapods y luego los pods que estoy usando para mi proyecto (algunos de los pods de Google Firebase). Cuando ejecuto pod update, obtengo el siguiente resultado:

Actualizar todos los pods
Actualizando los repositorios locales de especificaciones
/Library/Ruby/Gems/2.6.0/gems/ethon-0.15.0/lib/ethon/curls/classes.rb:36: [BUG] Instrucción ilegal en 0x0000000100224000
ruby 2.6.8p205 (2021-07-07 revisión 67951) [universal.arm64e-darwin21]

A continuación se muestran varias cientos de líneas de informes (guardadas aquí). También guarda un informe de diagnóstico (aquí). Creo que ambos son distracciones, pero quería incluirlos por si acaso.

Mi suposición de lo que está saliendo mal es que la biblioteca es la versión 2.6.0, mientras que Ruby en sí es la versión 2.6.8. Ambas versiones son antiguas y también son diferentes. Intenté actualizar Ruby, Gem y reinstalar cocoapods, pero ninguno de estos cambió esos números de versión. Cualquier ayuda para actualizar estas versiones sería apreciada.

Mis disculpas por una pregunta tan indirecta; si estuviera más seguro de cuál es el problema, probablemente lo habría resuelto.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Problema con Ruby que informa de una instrucción ilegal al intentar actualizar cocoapods

    Problema

    El usuario experimenta un problema al intentar actualizar cocoapods, donde Ruby informa de una instrucción ilegal. Este problema parece ocurrir cuando el usuario intenta actualizar los pods de Firebase que están utilizando para sus proyectos de aplicaciones iOS.

    Solución

    Según el mensaje de error, parece que el problema puede deberse al uso de dos versiones diferentes de Ruby. Una versión es utilizada por la biblioteca, que es la 2.6.0, mientras que la otra es la versión instalada en la Mac M1 Pro del usuario, que es la 2.6.8.

    Para resolver este problema, el usuario puede intentar actualizar tanto Ruby como Gem a las últimas versiones. Puede hacer esto ejecutando los siguientes comandos en la terminal:

    brew update
    brew install ruby
    brew upgrade ruby
    

    Una vez que haya actualizado Ruby, puede intentar reinstalar cocoapods ejecutando el siguiente comando:

    sudo gem install cocoapods
    

    Si estos pasos no resuelven el problema, el usuario puede intentar eliminar el archivo Gemfile.lock y reinstalar las dependencias ejecutando los siguientes comandos:

    rm Gemfile.lock
    bundle install
    bundle update
    

    Información adicional

    El usuario ha proporcionado una cantidad útil de información sobre su problema, incluyendo el mensaje de error, un archivo de registro guardado desde la terminal y un informe de diagnóstico. Esta información puede ayudar a resolver el problema de manera más rápida y eficiente.

Comments are closed.