环境:Ventura 13.4.1 m1芯片mac mini
双Xcode环境:15 、14版本共存
升级完Ventura后,执行arch -x86_64 pod update,会报ffi相关错误
Could not find 'ffi' (>= 1.3.0) among 159 total gem(s) (Gem::MissingSpecError)
尝试升级ffi报错,按这个步骤最终可以成功:
- 执行arch -x86_64 gem install ffi -v1.8.1,报错
- 打开在步骤0中报错的
mkmf.log文件,位置在终端有输出:/Library/Ruby/Gems/2.6.0/extensions/universal-darwin-21/2.6.0/ffi-1.15.5/mkmf.log. - 搜索
xcrun clang在-I参数附近可以找到地址/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/include/ruby-2.6.0/universal-darwin21 - 打开
universal-darwinXX上级菜单 ,可以看到命名为universal-darwin22并且mkmf.log文件中的universal-darwin21根本不存在. - 执行
sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/include/ruby-2.6.0/universal-darwin22 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/include/ruby-2.6.0/universal-darwin21
- 之后再执行arch -x86_64 sudo gem install ffi即可
更新完ffi再执行pod相关命令就不会再报错了