一次让人崩溃的cocoapod经历

78 阅读1分钟

一次让人崩溃的cocoapod经历

1、事件描述

执行pod install命令是发现如下报错: cocoapod报错:LoadError - dlopen(/Library/Ruby/Gems/2.6.0/gems/ffi-1.15.5/lib/ffi_c.bundle, 0x0009): tried: '/Library/Ruby/Gems/2.6.0/gems/ffi-1.15.5/lib/ffi_c.bundle' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64'))

2、解决过程

阶段1:开始判断是M1芯片问题,但是之前没有事,一直用公司电脑,自己电脑很久不用,突然不行了?

阶段2:电脑里有很多ruby版本,提示2.6.0,但我的ruby是3.4.1,版本不一致?

阶段3:无数次google,看图,真好像好像,但是解决不了

image.png

阶段4:AI问答,把AI提供的答案就试了一遍,重装又卸载,卸载又重装,没鸟用,已经想手撕AI

3、最后的灵光,rm,成了?

1、又看了一遍ruby -v版本,3.4.1

2、看看pod到底在哪,which pod:/usr/local/bin/pod

3、反正不管用,删了:rm /usr/local/bin/pod

4、再看一次,删干净没有?:which pod,好家伙:ruby下还有一个:/usr/local/opt/ruby/bin/pod

5、执行pod install,成了,马达!!!!

image.png

4、灵魂扣问:为什么会成功?

1、为何会有两个pod路径?

1、早期的cocoapod直接命令装的,早期ruby,2.6.0

2、近期使用了rbenv,管理一下ruby,然后又装了一次ruby3.4.1,然后又安了pod

3、这两个ruby下都有一个pod,这就是为何删除了一个,还有一个的原因

4、问题出在哪里?

当前的ruby环境是3.4.1,但pod默认却在2.6.0上运行,所以当我删除2.6.0下的pod后,3.4.1环境下的pod就生效了