Homebrew 是一个 macOS 的包管理器,用于在 macOS 上安装 UNIX 工具。但是,它也可以在 Linux(和 Windows WSL)上使用。它是用 Ruby 编写的,并提供主机系统(macOS 或 Linux)可能不提供的软件包,因此它在操作系统包管理器之外提供了一个辅助的包管理器。此外,它只以非 root 用户身份在前缀 /home/linuxbrew/.linuxbrew 或 ~/.linuxbrew 下安装软件包,不会污染系统路径。这个包管理器在 Fedora Linux 上也适用。在这篇文章中,我将尝试告诉你 Homebrew 与 Fedora Linux 包管理器 dnf 有什么不同,为什么你可能想在 Fedora Linux 上安装和使用它,以及如何安装。
你应该经常检查你在系统上安装的软件包和二进制文件。Homebrew 包通常以非 sudoer 用户运行,并工作在专门的前缀的路径下,因此它们不太可能造成破坏或错误配置。然而,所有的安装操作都要自己承担风险。作者和 Fedora 社区不对任何可能直接或间接因遵循这篇文章而造成的损失负责。
Homebrew 在底层使用 Ruby 和 Git。它使用特殊的 Ruby 从源代码构建软件,这些 被称为 “配 方formula”,看起来像这样(使用 wget 包作为例子):
(LCTT 译注:Homebrew 本身意思是“家酿”,在这个软件中,有各种类似于酿酒的比喻。)
class Wget < Formula homepage " url " sha256 "52126be8cf1bddd7536886e74c053ad7d0ed2aa89b4b630f76785bac21695fcd" def install system "./configure", "--prefix=#{prefix}" system "make", "install" end end
Homebrew 是一个包管理器,提供了许多 UNIX 软件工具和包的最新版本,例如 FFmpeg、Composer、Minikube 等。当你想安装一些由于某种原因在 Fedora Linux RPM 仓库中没有的软件包时,它就会证明很有用。所以,它并不能取代 dnf。
在开始安装 Homebrew 之前,确保你已经安装了 glibc 和 gcc。这些工具可以在 Fedora 上通过以下方式安装:
sudo dnf groupinstall "Development Tools"
然后,通过在终端运行以下 来安装 Homebrew:
/bin/bash -c "$(curl -fsSL )"
在安装过程中,你会被提示输入你的 sudo 密码。另外,你可以选择 Homebrew 的安装前缀,但默认的前缀就可以了。在安装过程中,你将成为 Homebrew 前缀目录的所有者,这样你就不必输入 sudo 密码来安装软件包。安装将需要数分钟。完成后,运行以下 ,将 brew 添加到你的 PATH 中:
echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> ~/.bash_profile eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
要在 Homebrew 上使用“配 方”安装一个软件包,只需运行:
brew install
替换为你要安装的“配 方”的名称。例如,要安装 Minikube,只需运行:
brew install minikube
你也可以用以下方式搜索“配 方”:
brew search
要获得一个“配 方”的信息,请运行:
brew info
另外,你可以用以下命令查看所有已安装的“配 方”:
brew list
要从你的 Homebrew 前缀中卸载一个软件包,请运行:
brew uninstall
要升级一个用 Homebrew 安装的特定软件包,请运行:
brew upgrade
要更新 Homebrew 和所有已安装的“配 方”到最新版本,请运行:
brew update
Homebrew 是一个简单的包管理器,可以与 dnf 一起成为有用的工具(两者完全没有关系)。尽量坚持使用 Fedora 原生的 dnf 包管理器,以避免软件冲突。然而,如果你在 Fedora Linux 软件库中没有找到某个软件,那么你也许可以用 Homebrew 找到并安装它。请看 “配 方”列表 以了解有哪些可用的软件。另外,Fedora Linux 上的 Homebrew 还不支持图形化应用(在 Homebrew 术语中称为“酒桶cask”)。至少,我在安装 GUI 应用时没有成功过。