Mac 开发者怎么使用 brew pin 锁定特定软件包防止被自动升级

冬枫同学_3607

冬枫同学_3607

2026-11-16

396人浏览

原创

使用 brew pin 命令可以锁定 homebrew 管理的软件包,防止在运行 brew upgrade 时被自动升级。要锁定特定软件包,只需在终端执行 brew pin ;若要解除锁定,则使用 brew unpin 。被锁定的包会保留在当前版本,直到手动解除锁定。

Mac 开发者怎么使用 brew pin 锁定特定软件包防止被自动升级

如何查看当前被锁定的软件包列表?

可以通过 brew list --pinned 命令查看当前系统中所有被锁定的软件包。该命令会列出所有已应用 pin 状态的 Formula 名称,方便开发者确认哪些包处于受保护状态。

Mac 开发者怎么使用 brew pin 锁定特定软件包防止被自动升级

brew list --pinned
# 输出示例:
# node
# python@3.9

为什么某些包即使被 pin 了仍可能更新?

brew pin 仅阻止 brew upgrade 对指定包进行升级,但不会影响 brew install 或 brew reinstall。如果用户显式调用安装命令,Homebrew 仍会处理该包。此外,pin 状态不会阻止依赖项的更新,若某包的依赖项升级导致其需要重新编译,Homebrew 可能会提示用户手动干预。因此,pin 并非绝对隔离,而是针对升级操作的软限制。

Mac 开发者怎么使用 brew pin 锁定特定软件包防止被自动升级

# 尝试升级被 pin 的包(不会成功)
brew upgrade node
# 输出:node is pinned and will not be upgraded

# 强制重装(会忽略 pin)
brew reinstall node

基于程序中某个输入、条件或结果的具体问题

当开发者在脚本中自动化管理 Homebrew 包时,若未检查 pin 状态而直接调用 brew upgrade,可能导致意外行为。例如,在 CI/CD 流水线中,若某关键库被意外升级引发兼容性问题,可通过 brew list --pinned 预检并记录状态,或在升级前临时 unpin 再 pin 以控制范围。建议在自动化流程中加入 brew list --pinned 的输出日志,以便追踪变更。

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

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

下载

相关标签:

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

相关专题

更多
macOS怎么切换用户账户
macOS怎么切换用户账户

在 macOS 系统中,可通过多种方式切换用户账户。如点击苹果图标选择 “系统偏好设置”,打开 “用户与群组” 进行切换;或启用快速用户切换功能,通过菜单栏或控制中心的账户名称切换;还能使用快捷键 “Control+Command+Q” 锁定屏幕后切换。

2025.05.09

5744

14

PHP 命令行脚本与自动化任务开发
PHP 命令行脚本与自动化任务开发

本专题系统讲解 PHP 在命令行环境(CLI)下的开发与应用,内容涵盖 PHP CLI 基础、参数解析、文件与目录操作、日志输出、异常处理,以及与 Linux 定时任务(Cron)的结合使用。通过实战示例,帮助开发者掌握使用 PHP 构建 自动化脚本、批处理工具与后台任务程序 的能力。

2025.12.13

526

14

Figma AI自动化智能数据填充与交互生成实战
Figma AI自动化智能数据填充与交互生成实战

告别机械重复,详细演示如何用 AI 填充业务真实数据,并自动为页面添加交互连线,将静态设计稿快速转变为动态原型。

2026.05.13

365

17

Go-Zero API开发使用教程
Go-Zero API开发使用教程

本专题聚焦Go-Zero的API开发,拆解.api描述文件的语法结构、路由与分组定义、参数绑定与校验规则,说明统一响应体、JWT鉴权、跨域与接口文档生成的落地方式,并给出网关聚合与接口测试的实践建议。

2026.11.12

100

15

Go-Zero安装与goctl环境配置教程
Go-Zero安装与goctl环境配置教程

本专题围绕Go-Zero的安装与工具链配置展开,讲清Go版本要求、goctl安装方式、代理镜像、protoc依赖与环境变量设置,说明多版本共存、升级回退与CI流水线安装的做法,并整理安装阶段的常见报错与验证步骤。

2026.11.12

60

15

Go-Zero零基础入门教程
Go-Zero零基础入门教程

本专题整理Go-Zero的入门知识,从框架定位、环境准备到跑通第一个API服务,讲清目录分层、配置加载、日志与中间件的基本用法,并对比Gin、Kratos的差异,帮助Go开发者建立整体认知,判断它是否适合当前项目。

2026.11.12

60

15

Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

2026.11.06

160

12

Postman请求头Headers怎么设置
Postman请求头Headers怎么设置

围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

2026.11.06

120

13

Postman接口请求发送教程
Postman接口请求发送教程

详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。

2026.11.06

120

10

热门下载

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

精品课程

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

共6课时 | 54.7万人学习

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

共89课时 | 134.3万人学习