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