Homebrew使用详解,macOS的第二个Mac App Store

简介: Homebrew使用详解

正文


一、什么是 Homebrew ?


Homebrew 官网有一句话:Homebrew complements macOS. ( Homebrew 使 macOS 更完整。)Homebrew 是 macOS 的套件管理工具,是高效下载软件的一种方法,相当于 Linux 下的 yumapt-get 神器,用于下载存在依赖关系的软件包。通俗地说,Homebrew 是类似于 Mac App Store 的一个软件商店。


二、Homebrew 的好处


通过 Homebrew 下载的软件都来自于官网,绝对放心软件的安全性。而且它尽可能地利用系统自带的各种库,使得软件包的编译时间大大缩短,基本上不会造成冗余。


三、Homebrew 的安装


  1. 安装方法极其简单,使用系统终端Terminal)应用,输入以下命令:

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


若以上安装失败,并提醒:

Failed to connect to raw.githubusercontent.com port 443: Connection refused.

则可以尝试使用国内源进行安装,详情请看 Gitee / CunKai / HomebrewCN。(或者科学上网)

  1. 测试 Homebrew 是否成功安装。

$ brew -h


  1. 若上一步输入命令,回车后提示:brew:command not found。则需要进行环境配置,若成功则跳过该步骤:
    a. 终端输入:sudo vim ~/.zshrc
    b. 在 .zshrc 文件的末尾添加配置:export PATH=/usr/local/bin:$PATH
    c. 在 vim 模式下,按下 i 键进入编辑模式;编辑完成后,按 Esc 键退出编辑模式;输入 :wq 保存退出( w 为 write 写入,q 为 quit 退出)。
    d. 刷新环境变量:source ~/.zshrc
    e. 再次输入 brew -h 测试。

从 macOS Catalina 开始,Mac 将使用 zsh 作为默认登录 Shell 和交互式 Shell(详看)。若仍使用 bash 的话,将配置写入 ~/.bash_profile 即可。


四、切换 Homebrew 源


可能有朋友会遇到过 brew update 会卡住的情况,在国内的话可以切换为清华或中科院的镜像。

个人比较推荐切换为国内源,安装包明显速度快很多。


以 USTC(中科院)镜像为例:

  1. 替换 Homebrew 源

$ cd "$(brew --repo)"
$ git remote set-url origin https://mirrors.ustc.edu.cn/brew.git


  1. 切换 Homebrew Core 源

$ cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
$ git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git


  1. 切换 Homebrew Cask 源

cd "$(brew --repo)"/Library/Taps/homebrew/homebrew-cask
git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-cask.git

关于更多 USTC Homebrew 镜像说明,请看 Homebrew 源使用帮助


五、Homebrew 安装/卸载命令


其实细心的朋友可能会发现,Homebrew 的安装命令好像有两个:

$ brew install <package>
$ brew install --cask <package>


这两者有什么区别呢?

官方描述:Homebrew Cask 扩展了 Homebrew,并为 Atom 和 Google Chrome 等 GUI macOS 应用程序的安装和管理带来了优雅、简单和快速。 为此,我们提供了友好的 CLI 工作流来管理作为二进制文件分发的 macOS 应用程序。

我们执行如下搜索命令,会发现:

frankie@iMac ~ % 🐶 brew search google
==> Formulae
aws-google-auth                          google-sparsehash
google-authenticator-libpam              google-sql-tool
google-benchmark                         googler
google-go                                googletest
google-java-format
==> Casks
google-ads-editor
google-analytics-opt-out
google-backup-and-sync
...


以上搜索命令,可以看到搜索关键词 google,结果会出现 FormulaeCasks 两种分类,有何区别?

  • Formulae 一般是那些命令行工具、开发库、字体、插件等不含 GUI 界面的软件。
  • Cask 是指那些含有 GUI 图形化界面的软件,如 Google Chrome、FireFox 、Atom 等。

其实所有的 Homebrew Cask 命令都以 brew 开头,这对 Casks 和 Formulae 均适用。

所以,使用 Homebrew 安装软件,只要使用如下命令即可:

$ brew install <package>


其他一些命令:

$ brew uninstall <package>  # 卸载
$ brew reinstall <package>  # 重装


六、Homebrew 其他命令


  1. 软件搜索命令

支持关键字、模糊搜索。假设我们想安装一个叫 Alfred 的软件,但不知道 Homebrew 是否支持安装该应用,我们可通过该方法查询。如输入 brew search alf 会列出所有符合条件的结果。

$ brew search <key words>


  1. 更新软件

获取最新的包,但该命令会先检查 Homebrew 本身是否有更新。

$ brew update

很多朋友在这个操作,会卡在 Updating Homebrew… 按照以上方法切换至国内源几乎都能解决。


  1. 更新软件

brew upgrade highlight

$ brew upgrade              # 更新所有
$ brew upgrade <package>    # 更新指定软件


  1. 查看 Homebrew 下载的软件存放路径

$ brew --cache
  1. 列出已安装的软件

$ brew list             # 所有的软件,包括 Formulae  和 Cask
$ brew list --formulae  # 所有已安装的 Formulae
$ brew list --cask      # 所有已安装的 Casks


  1. 列出可更新的软件

$ brew outdated
  1. 清理旧版本软件

brew cleanup wget

$ brew cleanup            # 清理所有旧版本的包
$ brew cleanup <package>  # 清理指定的旧版本包
$ brew cleanup -n         # 查看可清理的旧版本包


  1. 强制卸载某个软件

brew uninstall --force wget

$ brew uninstall --force <package>


  1. 锁定某个不想更新的软件

brew pin wget

$ brew pin <package>       # 锁定指定包
$ brew unpin <package>     # 取消锁定指定包


  1. 查看已安装软件的依赖

$ brew deps --installed --tree


  1. 查看软件的信息

brew info wget

$ brew info <package>     # 显示某个包信息
$ brew info               # 显示安装的软件数量、文件数量以及占用空间


七、参考



目录
相关文章
|
9月前
|
API 数据安全/隐私保护 iOS开发
利用uni-app 开发的iOS app 发布到App Store全流程
利用uni-app 开发的iOS app 发布到App Store全流程
270 3
|
9月前
|
iOS开发 开发者
一键制作 iOS 上架 App Store 描述文件教程
一键制作 iOS 上架 App Store 描述文件教程
|
9月前
|
iOS开发 UED
解决提交到App Store时的ITMS-90478和ITMS-90062错误
解决提交到App Store时的ITMS-90478和ITMS-90062错误
103 0
|
9月前
|
iOS开发 开发者
苹果iOS App Store上架操作流程详解:从开发者账号到应用发布
很多开发者在开发完iOS APP、进行内测后,下一步就面临上架App Store,不过也有很多同学对APP上架App Store的流程不太了解,下面我们来说一下iOS APP上架App Store的具体流程,如有未涉及到的部分,大家可以及时咨询,共同探讨。
|
9月前
|
安全 开发工具 数据安全/隐私保护
如何将应用程序发布到 App Store
如何将应用程序发布到 App Store
|
4月前
|
Linux C语言 iOS开发
MacOS环境-手写操作系统-06-在mac下通过交叉编译:C语言结合汇编
MacOS环境-手写操作系统-06-在mac下通过交叉编译:C语言结合汇编
73 0
|
9月前
|
存储 数据安全/隐私保护 iOS开发
应用在App Store上被拒重新提交审核流程指南
该文本是关于iOS应用发布的步骤说明
112 2
|
9月前
|
安全 iOS开发 MacOS
Mac pro升级 MacOS 10.15 Catalina 后根目录是只读的, Recovery OS不能访问
Mac pro升级 MacOS 10.15 Catalina 后根目录是只读的, Recovery OS不能访问
188 0
|
9月前
|
网络协议 数据安全/隐私保护 iOS开发
使用mac自带VNC公网远程控制macOS
macOS系统自带有VNC远程桌面,我们可以在控制端上安装配置VNC客户端,以此来实现远程控制macOS。但通常需要在不同网络下进行远程控制,为此,我们可以在macOS被控端上使用cpolar做内网穿透,映射VNC默认端口5900,通过所生成的公网地址,来实现在公网环境下远程控制VNC。
|
9月前
|
存储 网络安全 开发者
App Store上架流程/苹果app发布流程:
App Store上架流程/苹果app发布流程:

热门文章

最新文章

  • 1
    mac git clone命令提示git@gitee.com: Permission denied (publickey).问题修复
  • 2
    MNN-LLM App:在手机上离线运行大模型,阿里巴巴开源基于 MNN-LLM 框架开发的手机 AI 助手应用
  • 3
    【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 4
    微信小程序 app.json 配置文件解析与应用
  • 5
    【Azure App Service】基于Linux创建的App Service是否可以主动升级内置的Nginx版本呢?
  • 6
    【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
  • 7
    【Azure Function】Function App出现System.IO.FileNotFoundException异常
  • 8
    原生鸿蒙版小艺APP接入DeepSeek-R1,为HarmonyOS应用开发注入新活力
  • 9
    【Azure Logic App】使用MySQL 新增行触发器遇见错误 :“Unknown column 'created_at' in 'order clause'”
  • 10
    【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex