老款MacBook系统Monterey(MacOS 12)由于brew停止了从上游下载cocoapods提示不支持os12系统,无法安装最新版cocoapods,本文讲述了另一种方法来更新cocoapods

原文链接:http://www.kovli.com/2024/12/18/old-macos-install-cocoapods/

作者:Kovli

重要通知:红宝书第5版2024年12月1日出炉了,感兴趣的可以去看看,https://u.jd.com/saQw1vP

红宝书第五版中文版

红宝书第五版英文原版pdf下载(访问密码: 9696)

尝试过的方法:
sudo gem install cocoapods
sudo gem install cocoapods -pre
gem install cocoapods --user-install
sudo gem update cocoapods --version 1.16.2

均无法成功安装,系统ruby是2.6

后来尝试用brew安装
brew install ruby

提示报错如下:

Error: Your Command Line Tools are too outdated.
Update them from Software Update in System Preferences. If that doesn't show you any updates, run:
sudo rm -rf /Library/Developer/CommandLineTools
sudo xcode-select --install Alternatively, manually download them from:
https://developer.apple.com/download/all/.
You should download the Command Line Tools for Xcode 14.2.

经过检查是安装了命令行工具14.2的,也重复安装一遍还是报错同样错误,判断是版本太低不支持,但是xCode14.2已经是OS12系统的最新版本了,受限于系统无法升级。

于是想着升级下当前系统所支持的最高ruby版本2.7.2
brew install ruby@2.7

报错如下,

Error: ruby@2.7 has been disabled because it is not supported upstream! It was disabled on 2024-06-15.
尝试brew安装ruby2.6
brew install ruby@2.6

报错如下

No available formula with the name "ruby@2.6". Did you mean ruby@2.7, ruby@3.2, ruby@3.1 or ruby@3.0?

也就是说brew只支持安装ruby3以上

于是安装3.0版本试试
brew install ruby@3.0

结果报错如下

Error: You are using macOS 12.
We (and Apple) do not provide support for this old version.

说明brew已经不支持macOS12系统安装ruby3了,到这里可以看出,brew在macOS12系统已经安装不了ruby了

于是考虑用rvm
curl -L get.rvm.io | bash -s stable

顺利安装了rvm最新版

rvm 1.29.12 (latest) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io]

先尝试安装ruby 3以上的,结果没成功,经过查询,最高支持安装2.7.2

rvm install 2.7.2

提示报错

Error running '__rvm_make -j8',

经检查问题出在openssl

卸载openssl

brew uninstall --ignore-dependencies openssl@3

重装低版本

    rm -rf /usr/local/etc/openssl@1.1
    brew reinstall openssl@1.1

提示报错

Error: openssl@1.1 has been disabled because it is not supported upstream! It was disabled on 2024-10-24.

此时有种换电脑的冲动了,但是不想让老外的计谋得逞,继续努力兼容!

brew edit openssl@1.1

会提示编辑如下文件

Editing /usr/local/opt/openssl@1.1/.brew/openssl@1.1.rb

通过编辑器或者vim编辑,注释下面这行

  deprecate! date: "2023-11-11", because: :unsupported
  # deprecate! date: "2023-11-11", because: :unsupported
然后执行:
HOMEBREW_NO_INSTALL_FROM_API=1 brew install openssl@1.1
HOMEBREW_NO_INSTALL_FROM_API=1 这个环境变量的作用就是告诉brew 不使用api中的formula而是使用你自己编辑后的, 这样就可以正常安装被brew禁止disable的软件包了。

上面的执行完再次安装2.7.2就可以成功

rvm install 2.7.2

设为默认ruby

rvm use 2.7.2 --default

更新了ruby从系统默认的2.6到rvm安装的2.7.2后再次尝试安装cocoapods

sudo gem install cocoapods -v 1.16.2 -n /usr/local/bin

提示报错

ERROR:  Error installing cocoapods:
The last version of securerandom (>= 0.3) to support your Ruby & RubyGems was 0.3.2. Try installing it with `gem install securerandom -v 0.3.2` and then running the current command again
securerandom requires Ruby version >= 3.1.0. The current ruby version is 2.7.2.137.

按照指引继续安装securerandom

sudo gem install -n /usr/local/bin securerandom -v 0.3.2

然后重试

sudo gem install cocoapods -v 1.16.2 -n /usr/local/bin

提示报错

ERROR:  Error installing cocoapods:
The last version of activesupport (>= 5.0, < 8) to support your Ruby & RubyGems was 7.1.5.1. Try installing it with `gem install activesupport -v 7.1.5.1` and then running the current command again
activesupport requires Ruby version >= 3.1.0. The current ruby version is 2.7.2.137.

按照指引开始安装activesupport

sudo gem install -n /usr/local/bin activesupport -v 7.1.5.1

继续重试

sudo gem install -n /usr/local/bin cocoapods -v 1.16.2

这次终于没报错了,安装成功,检查版本

~ pod --version
1.16.2

成功更新到新版cocoapods

tips:

1、RVM官方网站

https://rvm.io/workflow/examples#rvm-list

2、ruby可安装的版本信息

rvm list known

3、cocoapods所有版本

https://rubygems.org/gems/cocoapods/versions

4、cocoapods官网

https://guides.cocoapods.org/using/getting-started.html


版权声明:

转载时请注明作者Kovli以及本文地址:

http://www.kovli.com/2024/12/18/old-macos-install-cocoapods/


macOS Monterey(MacOS 12) 系统升级cocoapods的更多相关文章

  1. 在不受支持的 Mac 上安装 macOS Monterey 12

    请注意,当前为 Beta 版,后续会及时更新. 请访问原文链接:https://sysin.org/blog/install-macos-12-on-unsupported-mac/,查看最新版.原创 ...

  2. 在不受支持的 Mac 上安装 macOS Monterey 12(OpenCore Patcher)

    一.介绍 本文通用于 macOS Big Sur 和 macOS Monterey,也可以视作笔者 早期文章 的升级版. 这一章节将介绍 macOS Monterey 的系统要求和不受支持的 Mac ...

  3. macOS Monterey 12.1 (21C52) 正式版 ISO、IPSW、PKG 下载

    本站下载的 macOS Monterey 软件包,既可以拖拽到 Applications(应用程序)下直接安装,也可以制作启动 U 盘安装,或者在虚拟机中启动安装. 2021 年 12 月 14 日, ...

  4. macOS Monterey 12.12.2 (21D49) 正式版 ISO、IPSW、PKG 下载

    本站下载的 macOS Monterey 软件包,既可以拖拽到 Applications(应用程序)下直接安装,也可以制作启动 U 盘安装,或者在虚拟机中启动安装. 2022 年 1 月 27 日,m ...

  5. macOS Monterey 12.5 (21G72) 正式版 ISO、IPSW、PKG 下载

    今日(2022-07-21)凌晨,Apple 终于发布了 macOS Monterey 12.5,包括功能增强.错误修复和安全性更新.macOS Monterey 12.5 自 2022 年 5 月 ...

  6. 如何彻底禁止 macOS Monterey 自动更新,去除更新标记和通知

    请访问原文链接:如何彻底禁止 macOS Monterey 自动更新,去除更新标记和通知,查看最新版.原创作品,转载请保留出处. 作者主页:www.sysin.org 随着 macOS Montere ...

  7. 在macOS Sierra 10.12搭建PHP开发环境

    macOS Sierra 11.12 已经帮我们预装了 Ruby.PHP(5.6).Perl.Python 等常用的脚本语言,以及 Apache HTTP 服务器.由于 nginx 既能作为 HTTP ...

  8. 黑苹果macOS Sierra 10.12 安装教程(venue11 pro测试)

    黑苹果macOS Sierra 10.12 安装教程(venue11 pro测试) 2017-03-12 03:46:24 by SemiconductorKING PS:刚刚装好黑苹果,来记录一篇折 ...

  9. macOS Sierra(10.12.6), odoo(11.0), Python(3.5.4)配置

    欣闻odoo11支持python3环境了,赶紧在mac平台尝试一下: 前期设置,参考另篇文章:macOS Sierra 10.12.6 odoo 10.0 开发环境配置 因为odoo11尚未正式发布, ...

  10. macOS Sierra 10.12.6 odoo 10.0 开发环境配置

    参考了网上的一些教程,将最终过程记录一下,其中需要的一些程序,我已经放到百度网盘: https://pan.baidu.com/s/1boKHSTL 1.抹盘安装macOS Sierra 10.12. ...

随机推荐

  1. Node.js Express 框架(2)

    1.读取文件并返回给客户端 res.sendFile(path):读取文件并返回给客户端,适合静态页面 app.get("/",function(req,res){ res.sen ...

  2. 下列哪个选项是对ICMP FLOOD攻击的正确描述?

    A.  通过重复发送HTTP GET请求,将内容传输的负载施加到攻击目标服务器上. B.  通过使用ping命令发送大量请求包,导致通向被攻击服务器过载并阻止访问. C.  通过发送与连接启动请求对应 ...

  3. 揭秘“山姆黄牛”背后的技术逻辑:用Java实现会员管理系统的防黄牛策略

    在浙江绍兴的山姆超市外,"黄牛"现象引发了广泛关注.这些"黄牛"通过提供带入和结账服务,让未办理会员卡的消费者也能进入超市购物.这一行为不仅扰乱了市场秩序,也对 ...

  4. node-koa2 微信支付,企业付款到零钱

    微信支付用的V2版本 微信支付说明文档:https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php?chapter=14_2    参数详细说明请 ...

  5. 【前端】【H5 API】拽托

    拖曳操作需要借助于鼠标来实现,如文件或图片的移动操作等.在开发中,我们经常使用原生的JavaScript来实现拖曳效果,实现起来比较复杂.因此,HTML5为我们提供了更好用的接口或者事件,在很大程度上 ...

  6. 【shell】远程执行shell|多节点并行执行shell|远程执行注意

    目录 前提条件 shell远程执行 多节点上并行执行命令的三种方法 方法1 使用bash执行命令 方法2 使用clustershell执行命令--还能收集结果 方法3 使用pdsh 执行命令 远程执行 ...

  7. Qt开源作品36-程序守护进程

    一.前言 没有任何人敢保证自己写的程序没有任何BUG,尤其是在商业项目中,程序量越大,复杂度越高,出错的概率越大,尤其是现场环境千差万别,和当初本地电脑测试环境很可能不一样,有很多特殊情况没有考虑到, ...

  8. vs 禁用c++编译警告提示的两种方式

    1. 禁用单个cpp文件编译警告 #pragma warning(disable:警告号) 如:当前提示C4305警告; 加入禁用单个cpp文件编译警告; 结果:编译警告消失. 2. 全局禁用指定警告 ...

  9. [转]export ‘default‘ (imported as ‘Vue‘) was not found in ‘vue

    问题原因:我是安装了最新的vuecli,版本大概是4.5.4,我最开始安装vuecli没有指定版本下面是我出问题的代码,其实就是自己不会用vuecli4. npm install -g @vue/cl ...

  10. java中基于swing库自定义分页组件

    一个swing的分页组件,代码见附件. //用法如下:  Class Test{      JTable table ;      StatusBar statusBar ;      Test(){ ...