01 - Homebrew - 套件管理工具

不同的应用程序都有不一样的安装方式,有的需要下载安装包,有些则是下指令安装,还有些可以藉由 App Store 安装。除了第一次的安装外,各式套件的更新或删除的方式也是千奇百怪,增加了管理套件的难度。

为了统一管理应用程序,我们需要借助套件管理工具的帮助。

MacOS 的套件管理工具 Homebrew

homebrew-social-card

Homebrew 使用 CLI 指令安装各式的套件,这其中包含 CLI 与 GUI 应用程序(藉由 Homebrew Cask)。

Homebrew 在使用者下达安装指令时,会去找寻对应的 formula (Homebrew Cask 的脚本称为 cask ), formula 是个 Ruby 脚本,在 formula 中定义了这个套件的安装细节, Homebrew 藉由这个脚本执行对应的安装。

Homebrew 旨在以单一窗口管理各式套件,藉以降低管理的难度,以提高效率。

安装 Homebrew

在使用 Homebrew 前需要做安装的动作:

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

执行 Homebrew 提供的安装指令即可完成安装。

接着执行 brew 确认安装是否成功:

> brew --version
Homebrew 3.2.3
Homebrew/homebrew-core (git revision be6f2f8376; last commit 2021-07-23)
Homebrew/homebrew-cask (git revision f6fc400cf5; last commit 2021-07-23)

藉由输出版本指令,确认安装。

Homebrew 的指令

在终端机上输入 brew 即可开始使用 Homebrew , Homebrew 有多个指令以管理作业系统上的套件,下面会介绍几个常用的指令。

搜寻套件

使用 search 指令搜寻套件。

brew search [text]

text 是套件的 substring 。

git 为例:

brew search git

上面的指令会将所有名称中包含 git 的 formula 列出来。

搜寻结果可能会有多个相似名称的 formula ,可以使用 info 查询 formula 的详细资讯,以确定要安装那一个 formula 。

/ 斜线包住 text 的话, Homebrew 会解析为 regular expression 。

因此如果要只搜寻 git 的话可以使用:

brew search /^git$/

search 指令也能查询 Cask 的套件。

如果要列出所有可安装的套件,可以使用:

brew formulae

除了使用指令外, formula 清单也可以在 Homebrew Fomulae 找到。

查询套件资讯

使用 info 查询 formula 的资讯。

brew info [formula]

git 为例:

brew info git

安装套件

使用 install 指令执行套件的 formula 进行安装。

brew install <formula>

举例来说,要安装 git 的话,可以像下面这样:

brew install git

查询已安装的套件

使用 list 可以查询目前已安装的套件。

brew list

更新套件

使用 upgrade 指令更新套件。

brew upgrade [formula]

以 git 为例:

brew upgrade git

formula 是可选参数,如果想要更新所有套件,只要不输入 formula 参数就行了。

brew upgrade

执行 upgrade 时,在更新套件前会先执行 update 指令更新 Homebrew 。

删除套件

使用 uninstall 删除指定 formula 的套件。

brew uninstall <formula>

以 git 为例:

brew uninstall git

删除过期版本

安装过程中会产生暂存档,使用 cleanup 删除过期的暂存档。

brew cleanup

cleanup 指令会清理 Cask 套件。

更新 Homebrew

使用 update 指令更新 Homebrew 与所有的 formulae 。

brew update

Homebrew Cask

Homebrew Cask 是 Homebrew 扩充,原本的 Homebrew 是管理 Command Line 软件,而 Cask 是管理 GUI 软件的部分。

Homebrew Cask 的安装脚本称为 cask ,与 Homebrew 的 formula 相等。

在安装 Homebrew 时就会一起安装 Homebrew Cask ,指令也与 Homebrew 相同:

brew [command]

下面列出几个常用的指令:

# 查询套件资讯
brew info [cask]
# 安装对应 cask 的套件
brew install <cask>
# 列出所有已安装的套件
brew list
# 更新对应 cask 的套件
brew upgrade [cask]
# 删除对应 cask 的套件
brew uninstall [cask]

删除 Homebrew

与安装相同, Homebrew 提供了删除的 scripts ,执行它就可以删除 Homebrew :

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

使用技巧

尽量让应用程序维持在最新的状态,以确保 Bug 与功能都是与最新版本同步更新,如果套件有特定版本的需求,请另外使用套件专用的版本控制工具(例如: NVM )。

本文重点整理

  • 作业系统上的应用程序应该以套件管理工具统一管理。
  • Homebrew 是个 macOS 的套件管理工具,是个 CLI 应用程序,透过各种指令管理应用程序。
  • Homebrew 管理的对象有两种:
    • formula : CLI 应用程序。
    • cask : GUI 应用程序。
  • Homebrew 对於不同对象的管理使用同一套指令。
  • Homebrew 常用指令:
    • brew search [text] :列出名称与 text 相似的套件。
    • brew info [formula|cask] :取得 formulacask 的资讯。
    • brew install [formula|cask] :安装 formulacask
    • brew upgrade [formula|cask] :更新 formulacask
    • brew uninstall [formula|cask] :删除 formulacask

参考资料


<<:  Day-6 Divide-and-Conquer-1 : merge sort

>>:  [Android Studio 30天自我挑战] LinearLayout元件对齐方式

[Day 10] 模型达到商业指标的挑战 — Test set performance 的殒落

Achieving low average tested error isn't good eno...

铁人赛 Day4 -- XAMPP到底有多神 & MySQL的安全性设定

让我告诉你XAMPP有多神 完全免费 容易安装,下载->解压缩->启动->完成 提...

Day28-Custom Hook

前言 我们学习了效能优化、生命周期、React状态等等,今天我们要来学习React的模组化,也就是c...

AI ninja project [day 23] 生成对抗网路 Generative Adversarial Network(GAN)

相信大家都有听过GAN的名子, 原理就好像同时有一名创作家及一名监定员, 创作家进行创造,而监定员进...