mac电脑安装cocoapods出错,以及安装最新版本ruby方法

macbook安装cocoapods时碰到一个报错:大概率是ruby的版本太低导致的

bash 复制代码
sudo gem install cocoapods
ERROR:  Error installing cocoapods:
ERROR: Failed to build gem native extension.
...
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

出现这种情况,大概率是我电脑 ruby 的版本太低了,导致不能安装最新的CocoaPods

安装flutter的环境参考官方文档:Start building Flutter native desktop apps on macOS - Flutter 中文文档 - Flutter 中文开发者网站 - Flutter

那不安装最新 CocoaPods ,指定一个低版本是否可行呢?参考 Mac Flutter环境配置 --- CocoaPods not installed解决方案

复制代码
sudo gem install cocoapods -v 1.8.4

使用如上命令确实安装成功了,但在 Flutter 中启动 Xcode 就会报错,启动失败。

复制代码
Warning: CocoaPods minimum required version 1.9.0 or greater not installed. Skipping pod install.

根据以上,提醒我们需要一个至少 1.9 版本的 CocoaPods,那我卸载然后继续安装 1.9 版本是否就可以了呢?

复制代码
# 卸载
sudo gem uninstall cocoapods

sudo gem install cocoapods -v 1.9.4

我尝试后,发现又安装失败。所以现在的情况就只有一个办法,升级 ruby

使用 homebrew 安装新版本 ruby:

bash 复制代码
brew install ruby

会在安装完后提示两个路径:将这两个路径复制到你的命令行,重新执行一下

复制代码

我们配置新安装ruby的环境变量,不用多想,按照提示来(不要复制如下路径,复制你终端提示的命令)

bash 复制代码
echo 'export PATH="/usr/local/opt/ruby/bin:$PATH"' >> /Users/**/.bash_profile

export LDFLAGS="-L/usr/local/opt/ruby/lib"
export CPPFLAGS="-I/usr/local/opt/ruby/include"

export PKG_CONFIG_PATH="/usr/local/opt/ruby/lib/pkgconfig"

source /Users/**/.bash_profile

就可以看到版本最新了:

再安装 cocoapods,如果之前有安装记得先卸载(卸载命令上面有):

bash 复制代码
# 卸载
sudo gem uninstall cocoapods

# 安装
sudo gem install cocoapods

就会提示安装成功了:

如果上面安装后运行项目还提醒没有安装 cocoapods not installing,那就这样做:

bash 复制代码
sudo gem uninstall cocoapods
sudo gem install -n /usr/local/bin cocoapods
相关推荐
开开心心就好4 小时前
开源免费高速看图工具,支持漫画大图秒开
linux·运维·服务器·安全·ruby·symfony·1024程序员节
chao_7896 小时前
双设备全栈开发最佳实践[mac系统]
git·python·macos·docker·vue·全栈
2501_915921436 小时前
不用 Xcode 上架 iOS,拆分流程多工具协作完成 iOS 应用的发布准备与提交流程
android·macos·ios·小程序·uni-app·iphone·xcode
Ron丶6 小时前
iOS 旧版本 App 下载方法汇总:如何获取历史版本 IPA(2026 仍有效)
windows·经验分享·macos·ios·电脑
芒鸽7 小时前
基于 lycium 适配鸿蒙版 Ruby 的解决方案
华为·ruby·harmonyos
编程小风筝7 小时前
MAC物理地址和IP网络地址有什么区别?
网络协议·tcp/ip·macos
雪域迷影1 天前
MacOS中运行Next.js项目注册新用户时MongoDB报错MongoServerError
mongodb·macos·react·next.js
Knight_AL1 天前
线程池满了怎么办?用 RabbitMQ 做任务补偿不丢失
分布式·rabbitmq·ruby
西京刀客1 天前
macOS 打出来的 tar 包,Linux 常见告警(tar 包里带了 macOS 的扩展属性(xattr))
linux·运维·macos
码农垦荒笔记1 天前
OpenClaw 实战 #02-1:新手一把过(原Clawdbot )保姆级安装教程-Mac版
人工智能·macos·openclaw