在 Linux 上安裝和使用 Homebrew 包管理器
Homebrew(家釀),也被稱為 Brew,是一個(gè)主要為 macOS 創(chuàng)建的命令行包管理器。
Homebrew 在 macOS 用戶中相當(dāng)流行,因?yàn)楦嗟拈_發(fā)者創(chuàng)造了可以用 Homebrew 輕松安裝的命令行工具。
這種流行導(dǎo)致了 Linuxbrew 的誕生,它是 Homebrew 的一個(gè) Linux 移植版。由于它主要是 Git 和 Ruby 組成的,而 Linux 和 macOS 都是類 Unix 的系統(tǒng),所以 Brew 在兩種操作系統(tǒng)上都能很好地工作。
Linuxbrew 項(xiàng)目最終與 Homebrew 項(xiàng)目合并,現(xiàn)在只有一個(gè) Brew 項(xiàng)目,叫做 Homebrew。
為什么我叫它 Brew,而不是 Homebrew?因?yàn)槊钜?brew 開頭。你會(huì)在后面的章節(jié)中看到它的詳細(xì)內(nèi)容。
當(dāng)你已經(jīng)有了 apt、dnf、snap 時(shí),為什么還要在 Linux 上使用 Homebrew 包管理器?
我知道這種感覺(jué)。你已經(jīng)有一個(gè)由你的發(fā)行版提供的好的 包管理器。除此之外,你還有 Snap、Flatpak 和其他通用軟件包系統(tǒng)。
在你的 Linux 系統(tǒng)上你真的需要 Homebrew 包管理器嗎?答案取決于你的需求。
你看,除了發(fā)行版的包管理器和通用包管理器,你會(huì)遇到需要其他包管理器的情況,比如 Pip (用于 Python 應(yīng)用)和 Cargo (用于 Rust 軟件包)。
想象一下,你遇到了一個(gè)很好的命令行工具,想試試。它的軟件庫(kù)提到它可以使用 brew 或源代碼來(lái)安裝。在這種情況下,在你的系統(tǒng)上有 brew 可能會(huì)有幫助。畢竟,都 2021 了,從源代碼安裝 并不時(shí)髦(也不舒服)。
換句話說(shuō),如果你遇到一些有趣的命令行工具只提供 brew 安裝選項(xiàng),你會(huì)有一個(gè)額外的選擇。
在 Ubuntu 和其他 Linux 發(fā)行版上安裝 Homebrew
安裝是相當(dāng)容易的。你只需要確保你已經(jīng)有了所有的依賴項(xiàng)。
步驟 1:安裝依賴項(xiàng)
你需要有相對(duì)較新版本的 gcc 和 glibc。你可以 在 Ubuntu 上安裝 build-essential 包 來(lái)獲得它們。除此之外,你還需要 安裝 Git、Curl 和 procps(用于監(jiān)控系統(tǒng)進(jìn)程)。
在基于 Ubuntu 和 Debian 的系統(tǒng)中,你可以像這樣一起安裝所有這些東西:
- sudo apt-get install build-essential procps curl file git
對(duì)于其他發(fā)行版,請(qǐng)使用你的包管理器并安裝這些依賴項(xiàng)。
步驟 2:安裝 Homebrew
你可以看到為什么你需要 安裝 Curl。它允許你 在終端下載安裝腳本文件。
只要輸入這個(gè)命令:
- /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
當(dāng)要求輸入回車鍵時(shí),請(qǐng)按下回車。
在腳本最后,它建議運(yùn)行幾個(gè)命令,將其添加到 PATH 變量中。Homebrew 實(shí)際上是安裝在你的主目錄中,然后軟鏈接到 /usr/local 目錄中。
你可以 在終端方便地復(fù)制和粘貼。只要選擇它所建議的命令,按 Ctrl+Shift+C 復(fù)制,按 Ctrl+Shift+V 粘貼。
或者,你也可以直接復(fù)制粘貼這個(gè)命令:
- echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> $HOME/.bash_profile
然后是這個(gè):
- eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
步驟 3:驗(yàn)證 brew 的安裝
就快完成了。只需通過(guò)使用 brew doctor 命令來(lái)驗(yàn)證 brew 命令是否可以運(yùn)行:
- brew doctor
brew doctor 命令會(huì)告訴你是否有任何問(wèn)題。
你可以通過(guò)安裝示例 hello 項(xiàng)目再次驗(yàn)證:
- brew install hello
如果你沒(méi)有看到任何錯(cuò)誤,你可以在 Linux 上享用家釀了。
使用 brew 命令來(lái)安裝、刪除和管理軟件包
讓我快速告訴你幾個(gè)可以用來(lái)安裝、刪除和管理軟件包的 brew 命令。
由于 Homebrew 安裝在你的主目錄中,你不需要 sudo 來(lái)運(yùn)行它(就像 Pip 和 Cargo)。
要用 brew 安裝一個(gè)軟件包,請(qǐng)使用安裝選項(xiàng):
- brew install package_name
這里沒(méi)有自動(dòng)完成軟件包名稱的功能。你需要知道確切的軟件包名稱。
要?jiǎng)h除一個(gè) brew 軟件包,你可以使用 remove 或 uninstall 選項(xiàng)。兩者的作用是一樣的。
- brew remove package_name
你也可以用這個(gè)命令列出已安裝的 brew 軟件包:
- brew list
你也可以用 autoremove 選項(xiàng)刪除不需要的依賴:
- brew autoremove
在下一張截圖中,我只用 brew 安裝了兩個(gè)軟件包,但它也顯示了這些軟件包的依賴關(guān)系。即使在移除軟件包后,依賴關(guān)系仍然存在。autoremove 終于把它們刪除了。
還有很多 brew 命令選項(xiàng),但這不在本教程的范圍內(nèi)。你可以隨時(shí) 翻閱它的文檔 并進(jìn)一步探索。
從 Linux 中刪除 Homebrew
如果不加入從你的 Linux 系統(tǒng)中刪除 Homebrew 的步驟,本教程就不完整。
根據(jù) GitHub 倉(cāng)庫(kù)中提到的步驟,你必須下載并使用這個(gè)命令運(yùn)行卸載腳本:
- /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)"
你會(huì)被要求輸入 Y 鍵來(lái)確認(rèn)刪除。
當(dāng) Homebrew 的卸載完成后,它會(huì)列出它所遺留的文件和目錄:
讓你自己去刪除這些文件和目錄。
總結(jié)
正如我前面解釋的,Homebrew 為你已經(jīng)有的東西提供了一個(gè)擴(kuò)展。如果你偶然發(fā)現(xiàn)一個(gè)只有 brew 安裝方式的應(yīng)用,在你的 Linux 系統(tǒng)上安裝 Homebrew 會(huì)很方便。