macOS Sonoma 全新安装 CocoaPods

全新安装 macOS Sonoma 后,为了安装 CocoaPods 折腾了老久,现在记录一下。

由于 SIP 机制,内置 ruby 环境是只读的,不能安装第三方组件,所以除非关闭 SIP 否则就彻底忽略系统自带 ruby 这个特性吧。

1、安装 Xcode

在 App Store 直接安装就可以。

2、安装 Command Line Developer Tools

可以在下载Xcode 的同时进行。

xcode-select --install

切换 Xcode 版本。

sudo xcode-select -s /Applications/Xcode.app/Contents/Developer 
xcode-select -p
3、安装 Homebrew

需要科学上网,或者配置 host 添加域名解析raw.githubusercontent.com记录,具体的DNS你应该通过站长工具查询,可能会有变动。

## Add host for GitHub resources
185.199.109.133 raw.githubusercontent.com

下面这个命令来自Homebrew官网https://brew.sh/zh-cn/

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

也可以使用国内镜像,中文的引导,很友好。

/bin/bash -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
4、安装 RVM

RVM 是 ruby 版本管理器,方便我们管理、切换 ruby 版本。在折腾的过程中,还发现有另一个 ruby 版本管理器,这让新手或不熟悉的人感觉很混乱,因为不知道该选哪个,这就是乱轮子的后果。

curl -L get.rvm.io | bash -s stable 
source ~/.bashrc
source ~/.bash_profile
5、安装 ruby

原则上是尽量安装新版本,但是不能保证cocoapods能兼容。然后切换到新安装的版本,总之不能使用系统的版本。

# 安装 ruby 3.2.2 版本
rvm install 3.2.2
# 切换至 3.2.2 并设置为默认版本
rvm use 3.2.2 --default
# 查看当前 ruby 环境版本
ruby -v
# 查看 ruby 安装的路径
which ruby

在安装 ruby 的过程中,可能会遇到错误,比如。
一开始,并没打算直接安装 macOS Sonoma 版本,毕竟是新出的,BUG 可能比较多。但是全新安装的 macOS Ventura 在安装 ruby 的时候遇到了各种问题(遗憾的是我没有记录这里问题),一怒之下就直接重装系统了,索性就安装了 macOS Sonoma 版本,但实际上也不是一次性就安装成功的。
在看错误日志时,发现有个permision denied然后我就用sudo rvm install 3.2.2,然后也没有成功,但是我再使用rvm install 3.2.2就成功了,不知是什么玄学问题。如果你也安装不成功,或许也可以试试。

在 macOS Monterey 12.7.1 上,安装 3.2.2 版本一直出错,尝试安装 2.7 安装成功。

切换 Gem 源,操作上,将国内镜像放在第一位,把原始源放在第二位,我使用时没什么问题。

gem sources -l
gem sources --remove https://rubygems.org/
gem sources --add https://gems.ruby-china.com/
gem sources --add https://rubygems.org/
gem sources -l
6、安装 CocoaPods

终于来到最后一步,就是我们熟悉的安装命令,带个--verbose参数,不然看不到终端输出,就不知道是不是正在安装。

sudo gem install cocoapods --verbose

CocoaPods官网指导只有上面一句安装命令,个人感觉是非常不礼貌的,毕竟 iOS 开发只能用 macOS 系统,而目前在 macOS 系统上安装 CocoaPods 很明显仅靠这一个命令是远远不够的,而且你以为上面安装好了,就能使用了吗,那可就大错特错了。

pod --version

不出意外的话,查看 CocoaPods 版本,你就会收到一个报错undefined method deprecator for ActiveSupport:Module (NoMethodError)。还好这个错误原因不难排查,仅仅是因为 CocoaPods 不支持activesupport这个库的新版本导致的,安装旧版本就能解决。

# 安装旧版本
sudo gem install activesupport -v 7.0.8 --verbose 
# 删除新版本
sudo gem uninstall activesupport

Select gem to uninstall:
 1. activesupport-7.0.8
 2. activesupport-7.1.1
 3. All versions
> 2

现在,终于可以用上 CocoaPods 了。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值