Ventura系统pod update不成功解决方法

319 阅读1分钟

环境: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报错,按这个步骤最终可以成功:

github.com/ffi/ffi/iss…

  1. 执行arch -x86_64 gem install ffi -v1.8.1,报错
  2. 打开在步骤0中报错的 mkmf.log 文件,位置在终端有输出: /Library/Ruby/Gems/2.6.0/extensions/universal-darwin-21/2.6.0/ffi-1.15.5/mkmf.log.
  3. 搜索 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
  4. 打开universal-darwinXX上级菜单 ,可以看到命名为 universal-darwin22 并且mkmf.log文件中的 universal-darwin21 根本不存在.
  5. 执行
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
  1. 之后再执行arch -x86_64 sudo gem install ffi即可

更新完ffi再执行pod相关命令就不会再报错了