Mac OS 更新到 Ventura 后,在 使用 pod 生成工程时出现类似以下警告信息:
Ignoring ffi-1.15.5 because its extensions are not built. Try: gem pristine ffi --version 1.15.5
这主要是因为系统自带的Ruby太旧了,而且新系统可能也将不再自嵌Ruby 等脚本语言。
再看看国外网友怎么说: Do Not Use the MacOS System Ruby
解决方法:
-
卸载旧的 Cocoapods
sudo gem uninstall -n cocoapods
-
安装 RVM
\curl -sSL https://get.rvm.io | bash -s stable
-
安装 Ruby 2.7
rvm install ruby-2.7
-
切换到Ruby 2.7.6
上面安装成功后,ruby默认使用的还是macOS系统自带的版本,需要切换到新安装的版本。
rvm use ruby-2.7.6
切换后校验版本号
ruby -v
可以通过查看 ruby 的当前文件位置,确认是否使用的新安装的版本,而不是系统自带的版本。同时,也可以将取得的文件路径配置到环境变量中。
which ruby
系统自带ruby的路径为
/usr/bin/ruby
,通过RVM 安装的ruby 路径为~/.rvm/rubies/ruby-2.7.6/bin/ruby
。 -
设置默认的Ruby版本,避免每次启动终端都需要重新切换Ruby(可能需要在安装ruby之后重启终端才能执行成功)。
rvm --default use 2.7.6
-
安装 Cocoapods
sudo gem install -n /usr/local/bin cocoapods
安装完成后,校验版本号
pod --version