Homebrew :在 Mac 上無痛安裝軟體

2020-06-22 10:27:00

Homebrew 軟體包管理器可以讓你輕鬆地在 Mac 上安裝和更新應用程式和實用程式。

在我追求“萬物自動化”的過程中,我一直堅持走在用程式碼來管理我的 Mac 筆記型電腦的路上。與其用滑鼠或觸控板手動管理我的應用程式和實用程式,我更喜歡使用軟體包管理軟體來安裝、更新和刪除不需要的軟體。

這對 Mac 使用者來說是個挑戰。Mac 的作業系統 macOS 始終落後於 Linux 的一個地方就是在包管理方面。Mac 使用者沒有預設的軟體包管理器,而 Linux 使用者則有很多選擇 —— 從熟悉的 yum 和 apt 到現代的 Flatpak。但 Mac 呢?

這就是 Homebrew 的作用。Homebrew(自釀)填補了 MacOS 事實上的軟體包管理器的空白(它也是 Linux 上的又一個可選的包管理器)。它為任何熟悉命令列的人提供了令人難以置信的流暢而直接的體驗,如果你是新手,它是學習命令列的好方法。

(LCTT 譯註:Homebrew 系統中採用了大量針對自釀啤酒相關的比喻,大家在使用過程中會發現這些有趣的形容。)

如果你在 Mac 上還沒有 Homebrew,你可以這樣來安裝:

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

該命令將執行 Homebrew 團隊提供的安裝程式指令碼。如果你喜歡謹慎一點,可以 curl 下來這個檔案,稽核後再手動執行。

$ curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh --output homebrew_installer.sh$ more homebrew_installer.sh # 稽核該指令碼,直到你覺得沒問題了$ bash homebrew_installer.sh

使用“釀造”來管理你的命令列實用程式

Homebrew 號稱它“可以安裝蘋果(或你的 Linux 系統)預設沒有安裝的必需之物”。安裝是通過 brew(釀造)命令進行的,它使我們能夠存取成千上萬的命令列實用程式,但不是更複雜的應用程式。

對於我們這些搞技術的人來說,符合“必需之物”類別的實用工具包括顯示目錄結構的方便的 tree 命令和我用來 管理多個 Python 版本 的 pyenv

你可以用 search 子命令看到 Homebrew 中所有的“秘方formula”,我用 wc 命令顯示有多少個“秘方”。

# -l 統計行數$ brew search | wc -l    5013

有 5000 多個“秘方”,這是一個不可思議的軟體數量。所以,在搜尋那個龐大的清單之前,最好先對自己想要的東西有個概念。值得慶幸的是,瀏覽起來很方便。“秘方”被編入並集中儲存到核心庫中,核心庫按作業系統劃分(Mac 在 Homebrew Core,Linux 在 Linux Core)。它們也可以通過 Homebrew API 和網站列出。

口碑是另一個尋找實用工具的好方法。考慮到這一點,如果你正在尋找靈感,這裡有一些我的最愛:

  • pyenvrbenv 和 nodenv 分別用於管理 Python、Ruby 和 Node.js 的版本
  • imagemagick 用於可指令碼化的影象編輯
  • pandoc 用於可指令碼化的檔案轉換(我經常從 .docx 切換到 .md 或 .html)
  • hub 為 GitHub 使用者提供了更好的 Git 體驗
  • tldr 提供了解如何使用命令列工具的例子

舉個例子,看看 tldr 頁面,這是一個使用者友好的替代方式,可以捲動瀏覽應用程式的手冊頁。你可以通過再次執行 search 來確認它是否可用:

$ brew search tldr==> Formulaetldr ?

成功了!這個對勾讓你知道它是可用的。現在你可以安裝它了:

$ brew install tldr==> Downloading https://homebrew.bintray.com/bottles/tldr-1.3.0_2.catalina.bottle.tar.gzAlready downloaded: /Users/mbbroberg/Library/Caches/Homebrew/downloads/901bc14594a9283e9ab20aec942dc5a9a2befb7e96e1b0fcccb4e3257918813c--tldr-1.3.0_2.catalina.bottle.tar.gz==> Installing tldr==> Pouring tldr-1.3.0_2.catalina.bottle.tar.gz