什麼是「套件管理系統」? — — Mac 上的套件管理系統 Homebrew

Loyi Yu-Sung Hsu
#蘋果宅
Published in
3 min readJul 10, 2019
Image by Pete Linforth from Pixabay

前些日子因爲朋友們在上課需要用到 Python 碰到需要在 Mac 的終端機上使用 Homebrew 安裝套件,於是就被問到 Homebrew 到底是什麼東東。

確實如果本身不是開發者或是沒有跟 Linux 朝夕相處過的人應該也是不太會聽過「套件管理系統」,對於身為套件管理系統的 Homebrew 可能就會滿頭問號了。

所以「套件管理系統」是什麼

基本上套件管理系統是一個安裝、更新、解除安裝軟體的工具。通常這種系統都會紀錄一些來源,並且讓你可以用很簡單的方式更新這個列表,進而核對在你的機器上安裝的版本是不是跟最新版一樣,也因此可以一鍵,喔不是,是一指令完成更新的動作。

透過如此簡單的方式,就可以安裝一個命令列程式。

一般來說 Homebrew 安裝的程式都是命令列類型的程式,也就是在終端機裡面跑的、看起來很像駭客的程式(?)。但是我們正常用到的圖像使用者介面(GUI)程式呢?

一般的程式當然可以從 Mac App Store 下載,但是 Mac App Store 目前還沒有 Project Catalyst 加持之下,程式庫還顯得挺單薄的。而 Mac 程式的目前的主要來源之一,就是像 Windows 一樣到網路上抓。通常 Mac 的程式都是透過一個 Dmg 的磁碟映像檔,打開後就會有一個圖像,然後它就會指定你把這個代表程式的圖像拉到旁邊或是下面的程式資料夾。

然而,我們剛剛介紹的 Homebrew 其實也有一個叫做 Cask 的道具,是用來安裝一些 GUI 程式的工具。裡面比較有名的程式,甚至連 Google 的瀏覽器 Chrome 也可以直接透過 Homebrew 安裝(糟了,預設瀏覽器拿來下載 Google 瀏覽器的基本功能也要失業了(誤))。

只要是 Cask 有包含的程式,只要跑這樣的指令,安裝完成之後檔案就會程式就會直接出現在程式資料夾裡了!

討論

時至今日,有上述提及的 App Store、DMG 等等安裝程式的方式,這種命令列程式型的 Homebrew 之類的套件管理工具卻還是歷久不衰,或許有時候可以退一步想想, GUI 的程式是不是真的有「比較方便」。在我看起來 GUI 程式確實是有很明顯的「直觀」的好處,但是「直觀」之餘有些東西或許就會因為被暗藏在一個按鈕底下而缺少了許多變化的空間。

大多數很多人使用的命令列程式在設計的時候,都會特別注意使用者在打入指令的時候可以有多少種變化,就這點而言相比於 GUI 程式「按鈕」跟「框框」的設計,其實很多命令列程式都有更彈性的設計。

這或許也是很多時候會發生的矛盾 — — 最「直觀」的方式不會是最「有效率、有彈性」的方式,而這之中的犧牲有時候可能讓更好的方式更不直觀、更直觀的方式其實更費力。這之間的空間或許就是使用者經驗設計師熱門的原因了吧?

工商時間

本次開始的文章會同步發佈在#蘋果宅的主站,歡迎來玩玩!

--

--