He estado luchando para hacer que los cocoapods funcionen en fastlane/jenkins. Aquí está la salida de la consola de Jenkins:
[12:40:31]: [32m--- Step: cocoapods ---[0m [12:40:31]: [32m-----------------------[0m [12:40:31]: [36m$ bundle exec pod install[0m +------------------+------+ | [33mLane Context[0m | +------------------+------+ | DEFAULT_PLATFORM | ios | | PLATFORM_NAME | | | LANE_NAME | beta | +------------------+------+ [12:40:31]: [31mNo such file or directory - bundle[0m +------+-----------------------+-------------+ | [32mfastlane summary[0m | +------+-----------------------+-------------+ | Step | Action | Time (in s) | +------+-----------------------+-------------+ | 1 | default_platform | 0 | | 2 | clean_build_artifacts | 0 | | 💥 | [31mcocoapods[0m | 0 | +------+-----------------------+-------------+ [12:40:31]: [31mfastlane finished with errors[0m [12:40:31]: [33mError accessing file, this might be due to fastlane's directory handling[0m [12:40:31]: [33mCheck out https://docs.fastlane.tools/advanced/#directory-behavior for more details[0m Todo funcionó a la perfección antes de agregar la acción de los cocoapods en el carril de Fastfile.
Terminé deshabilitando el paquete en la acción de cocoapods como se muestra a continuación.
cocoapods(use_bundle_exec: false)Sin embargo, pasé muchas horas para descubrirlo. Espero que pueda ayudar a otros más adelante.
Como has visto, el error está en el registro de la consola:
No existe tal archivo o directorio - paquete
La acción cocoapods se basa en la clase base Fastlane::Action . Investigué y descubrí que si tiene un Gemfile , Fastlane cree que puede usar el método de bundle (de la bundler del paquete) para ejecutar una bundle exec pod install más rápida y correcta.
Si no está utilizando bundler para ejecutar versiones exactas de las gemas de Ruby que está utilizando, eliminaría el Gemfile ya que es un código auxiliar inútil.
Sin embargo, le recomiendo encarecidamente que use bundler para asegurarse de que siempre está usando las versiones exactas de las gemas de Ruby que usa para desarrollar su código fastlane. Es más rápido también. Leer más