老款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. Android运行时请求权限封装

    @ 目录 1 介绍 2 测试用例设计 3 实现 4 用例测试 5 总结 本文目的:"借助透明Activity封装一个易于调用的权限请求模块" 1 介绍 Android权限的校验和申 ...

  2. 论文泛读《PICCOLO : Exposing Complex Backdoors in NLP Transformer Models》

    发表时间:2022 期刊会议:IEEE Symposium on Security and Privacy (SP) 论文单位:Purdue University 论文作者:Yingqi Liu, G ...

  3. WxPython跨平台开发框架之用户选择和标签组件的设计

    在系统的权限管理中,往往都会涉及到用户的选择处理,特别是基于角色的访问控制中,很多情况下需要用到选择用户的处理.本篇随笔,基于WxPython跨平台开发框架,采用原有开发框架成熟的一套权限系统理念,对 ...

  4. Java并发 —— 线程并发(一)

    线程和进程 进程就是一个内存中运行的应用程序 线程是当前进程中的一个执行任务(控制单元),负责当前进程中程序的执行 区别与联系 根本区别:进程是操作系统资源分配的基本单位,线程是处理器任务调度和执行的 ...

  5. Uniapp input的maxlength问题

    前情 uni-app是我很喜欢的跨平台框架,它能开发小程序,H5,APP(安卓/iOS),对前端开发很友好,自带的IDE让开发体验也很棒,公司项目就是主推uni-app. 坑位 最近在做一个input ...

  6. Git for windows下Filename too long

    前情 Git(读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效.高速地处理从很小到非常大的项目版本管理,我公司目前都是基于Git来管理项目代码的. 坑位 最近在拉取代码时报如下错误,其中有句 ...

  7. Mysql之myisam引擎

    这里是早起整理的myisam优势,因为当时刚毕业那会web1.0时代还没过时,很多的门户网站实际上就只是内容展示的时候,或者发布文章公告的场景.所以对于这样的读多写少的场景,大多数使用的还是myisa ...

  8. AT_kupc2019_g ABCのG問題题解

    这题的难度不怎么好说,不过我认为还是挺简单的. 我们可以把答案看成由多个子图构成的图,这样我们只需要手打一个小子图,从中推出完整的答案. - 把小于子图范围的地方填上子图的字母 - 如果这个点的横坐标 ...

  9. 2024年1月Java项目开发指南1:环境与工具准备

    准备工作 基础能力 开发能力的事咱先不谈,有两个基础技能要学一下. 1.学习使用Markdown编写文档 2.学会使用git拉取代码和提交代码 软件准备 电脑需要安装以下软件: IDEA 2023.2 ...

  10. 【C#】【平时作业】习题-9-接口

    1.什么是接口 为派生类提供因该遵守的标准结构,而本身只包含成员声明,不包含成员的定义 2.接口与抽象类有什么区别 3.设计IBluetooth. public interface IBluetoot ...