Mac Homebrew怎么降级安装旧版本的指定软件包

冬涛君_5041

冬涛君_5041

2026-10-21

862人浏览

原创

mac上用homebrew降级安装旧版本软件包需先检查cellar中是否存在旧版keg,若存在则用brew unlink与brew link切换;若已被清理,则通过github历史commit获取旧formula url安装,或用brew extract创建可维护副本。

mac homebrew怎么降级安装旧版本的指定软件包

Mac上用Homebrew降级安装旧版本软件包,核心是绕过默认只装最新版的限制,直接定位并部署目标历史版本的安装逻辑——这要求你明确知道该软件是否还留有本地旧版文件,或是否需要从GitHub历史提交中找回已下线的formula。

确认旧版本是否还在本地Cellar中

Homebrew每次安装都会把版本目录完整保留在/usr/local/Cellar/(Apple Silicon为/opt/homebrew/Cellar/),先查有没有现成可用的旧版keg,能省去重装步骤。

运行brew list --versions [formula-name],例如brew list --versions python,列出所有已安装但未激活的版本。

若输出中包含类似python 3.9.16_1这样的条目,说明3.9.16_1已下载解压完毕,只需切换;若只显示最新版(如只有3.11.9),则必须走重装路径。

也可直接执行ls /usr/local/Cellar/[formula-name](或ls /opt/homebrew/Cellar/[formula-name])验证目录是否存在。

方法一:用brew switch快速切换(旧版keg存在时)

这是最轻量、零重装的操作,仅调整符号链接指向,5秒内完成。

第一步:卸载当前活跃版本 → brew unlink [formula-name]

第二步:切换到已有旧版 → brew switch [formula-name] [version],例如brew switch node 18.19.0

⚠️ 注意:brew switch在Homebrew 4.0+已被移除。若提示command not found,改用brew unlink [formula-name] && brew link [formula-name]@[version],但前提是该formula支持@x.y别名(如python@3.9有,而ffmpeg原生不支持)。

第三步:验证结果 → [formula-name] --version,确认输出为你指定的旧版本号。

方法二:用历史formula重装(旧版keg已被brew cleanup清理)

当/usr/local/Cellar/[formula-name]里只剩最新版目录时,必须找回对应版本的formula文件,再强制安装。

OpenAI Codex Sub Agents
OpenAI Codex Sub Agents

一款AI工具,主要用于使用 OpenAI Codex CLI 处理编码任务。触发词:codex、code review、fix CI、refactor code、implement feature、coding agent、gpt-5-codex。Clawdbot 可将编码工作委托给 Codex CLI 作为子代理或直接工具,适合需要提升相关任务效率的用户。

下载

打开浏览器,访问https://github.com/Homebrew/homebrew-core/commits/master/Formula/[formula-name].rb,比如https://github.com/Homebrew/homebrew-core/commits/master/Formula/redis.rb。

点击右上角“History”,按日期或关键词(如“4.0.14”)筛选出含目标版本的commit。

点进该commit → 找到[formula-name].rb文件 → 点“Raw” → 复制地址栏完整URL,形如https://raw.githubusercontent.com/Homebrew/homebrew-core/abc12345/Formula/redis.rb。

执行brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/abc12345/Formula/redis.rb,Homebrew会据此URL下载并安装该commit时刻定义的版本。

安装后立即执行brew pin [formula-name],否则下次brew upgrade会覆盖掉它。

方法三:用brew extract创建可维护的本地副本

适合需要长期保留多个旧版、且希望像管理正式formula一样升级/卸载的场景。

方法一:提取并安装 → brew extract --version=16.20.2 node homebrew/versions → brew install homebrew/versions/node@16

方法二:后续可随时重装该副本 → brew reinstall homebrew/versions/node@16

方法三:切换使用 → brew unlink node && brew link homebrew/versions/node@16

这一步操作起来很简单,直接把命令复制粘贴执行即可,无需手动编辑文件或处理路径。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Golangci-lint安装与入门教程
Golangci-lint安装与入门教程

本专题讲解Golangci-lint的安装、初始化、基础命令和首次代码检查,覆盖本地环境、Docker及多平台用法,帮助Go开发者快速上手。

2026.10.22

0

15

PHP2Shell高危漏洞修复教程
PHP2Shell高危漏洞修复教程

PHP2Shell漏洞是什么,哪些PHP版本和运行环境会受到影响,服务器应该如何检测与修复?本专题提供版本自查脚本、Linux与Docker升级命令、PHP-FPM和Apache排查步骤,以及修复验证、临时缓解和应急响应方案。

2026.10.22

0

12

剧云人物设定与关系管理教程
剧云人物设定与关系管理教程

本专题介绍剧云人物设定与关系管理,讲解角色小传、性格职业、人物目标、背景资料和关系网络的创建及维护方法。

2026.10.22

0

16

剧云故事大纲与分场规划教程
剧云故事大纲与分场规划教程

本专题讲解剧云梗概与多级大纲功能,覆盖全局、分集、分场结构生成,以及主线冲突、剧情节点和场次顺序调整。

2026.10.22

0

15

VibeKnow PPT讲解视频教程汇总
VibeKnow PPT讲解视频教程汇总

本专题介绍VibeKnow PPT讲解模式的素材准备、旁白生成、页面节奏、画面呈现与导出设置,适合课程和培训场景。

2026.10.22

0

16

VibeKnow PDF转视频教程合集
VibeKnow PDF转视频教程合集

本专题围绕VibeKnow的PDF转视频功能,讲解文件准备、内容解析、脚本生成、重点可视化及配音字幕检查方法。

2026.10.22

0

12

二狗PPT模板与视觉设计
二狗PPT模板与视觉设计

本专题介绍二狗PPT的职场模板、主题风格与页面版式,覆盖模板切换、色彩选择、内容匹配和正式汇报场景下的视觉优化方法。

2026.10.22

0

13

php漏洞修复方法
php漏洞修复方法

PHP漏洞聚合专题,持续整理PHP最新高危漏洞、CVE安全预警、受影响版本、自查命令及修复方案,覆盖PHP-FPM、Docker、Ubuntu与Linux服务器环境,帮助开发者快速完成漏洞排查、版本升级和安全加固。

2026.10.22

20

31

二狗PPT入门与基础操作
二狗PPT入门与基础操作

本专题整理二狗PPT从官网进入、输入主题、生成大纲到制作成稿的基础操作,帮助新手掌握AI一键生成职场PPT的完整流程。

2026.10.22

0

14

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.9万人学习