如何在Linux上安装和使用Homebrew

来自菜鸟教程
跳转至:导航、​搜索

介绍

Homebrew 是最初为 macOS 开发的包管理器,可让您使用终端安装免费和开源软件。 Linux 系统都使用自己的内置包管理器,例如 Debian、Ubuntu 及其衍生版本上的 apt,以及 Red Hat、Fedora 和 Rocky Linux 上的 dnf 来安装程序以及来自受信任和维护的包存储库的工具。

但是,通过 aptdnf 安装所有软件并不总是可行的。 例如,某些编程语言更喜欢使用自己的包管理器,例如 Python 的 pip 或 Node.js 的 npm 来安装本地化到您自己的用户帐户的其他脚本或库。

最近,Homebrew 增加了对 Linux 的原生支持。 虽然 Homebrew 最初是为了在 macOS 上安装 Linux 工具而创建的,但许多 Homebrew 软件包比 Linux 存储库中可用的等效软件包维护得更好或更方便。 此外,由于 Homebrew 包旨在仅提供每个用户的功能,因此 Homebrew 可以与您的系统包管理器一起使用而不会产生冲突。

在本教程中,您将在 Linux 环境中安装和使用 Homebrew。 您将安装系统工具并配置您的 shell 环境以从命令行界面使用 Homebrew。

先决条件

  • Linux 服务器或桌面环境,以及具有 sudo 权限的非 root 用户。 您可以在我们的 Initial Server Setup with Ubuntu 20.04 指南中了解有关如何设置具有这些权限的用户的更多信息。
  • 您的机器上安装的版本控制工具 git。 具体可以参考【X17X】如何在Ubuntu 20.04上安装Git【X55X】在Linux上,或者在其他平台上关注【X94X】Git官方文档【X128X】。

如果您希望在浏览器中使用终端来学习本教程,请单击 Launch an Interactive Terminal! 按钮开始使用。 您将能够直接在浏览器中试验和运行所有命令。

启动交互式终端!

第 1 步 — 安装编译器环境

在安装 Homebrew 之前,您需要一个工作编译器,以便 Homebrew 可以构建包。 虽然大多数包都是预编译的,但一些包依赖项需要直接在您的机器上构建。 大多数 Linux 发行版允许您使用单个命令安装编译器,但默认情况下不提供。

在 Ubuntu 上,您可以安装一个名为 build-essential 的包,它将提供现代、支持良好的编译器环境所需的所有包。 使用 apt 安装软件包:

sudo apt build-essential

在 Rocky Linux、CentOS 或其他 RedHat 衍生产品上,您可以安装一组名为 Development Tools 的软件包来提供相同的编译器功能。 使用 dnf 安装软件包:

dnf groups mark install "Development Tools"
dnf groupinstall "Development Tools"

您可以通过检查系统上是否存在 make 命令来验证编译器是否可用。 为此,请使用 which 命令:

which make
Output/usr/bin/make

现在您有了一个工作编译器,您可以继续安装 Homebrew。

第 2 步 — 安装和设置 Homebrew

要安装 Homebrew,您将下载安装脚本,然后执行该脚本。

首先,将脚本下载到本地机器:

curl -fsSL -o install.sh https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh

该命令使用 curl 从 GitHub 上的 Homebrew 的 Git 存储库 下载 Homebrew 安装脚本。

让我们来看看与 curl 命令相关的标志:

  • -f--fail 标志告诉外壳程序在服务器错误时不提供 HTML 文档输出。
  • -s--silent 标志使 curl 静音,使其不显示进度条,并与 -S--show-error 标志结合使用如果失败,它将确保 curl 显示错误消息。
  • -L--location 标志将告诉 curl 处理重定向。 如果服务器报告请求的页面已移动到不同的位置,它将自动使用新位置再次执行请求。
  • -o 开关指定文件的本地文件名。 -o 开关不会将内容显示到屏幕上,而是将内容保存到您指定的文件中。

在运行从 Internet 下载的脚本之前,您应该查看其内容,以便了解该脚本将执行的操作。 使用 less 命令查看安装脚本,以便了解它的作用。

less install.sh

熟悉脚本内容后,使用 bash 命令执行脚本:

/bin/bash install.sh

安装脚本将解释它将做什么,并会提示您确认是否要执行此操作。 这可以让您在让它继续之前确切地知道 Homebrew 将对您的系统做什么。 它还确保您在继续之前具备先决条件。

在此过程中,系统会提示您输入密码。 如果您没有 sudo 权限,可以按 Ctrl+D 来绕过此提示,安装 Homebrew 时将具有更多限制性权限。 您可以在 Homebrew 的文档 中查看此选项。

每当提示您确认安装时,按字母 y 表示“是”。

完成后,Homebrew 的安装程序输出还将包括 Next steps 以配置您的 shell 环境以使用 Homebrew 包。 此配置可确保使用 Homebrew 的工具来支持系统包管理器提供的工具。 从输出中复制并粘贴命令,这将检测系统上的正确配置路径。 以下示例来自 bash

Output==> Next steps:
- Run these two commands in your terminal to add Homebrew to your PATH:
    echo 'eval "$(/home/sammy/.linuxbrew/bin/brew shellenv)"' >> /home/sammy/.profile
    eval "$(/home/sammy/.linuxbrew/bin/brew shellenv)"

运行这两个命令后,您对 shell 的 PATH 环境变量所做的更改将生效。 当您将来再次登录时,它们将被正确设置,因为当您打开一个新会话时,您的 shell 的配置文件会自动运行。

现在验证 Homebrew 是否设置正确。 运行此命令:

brew doctor

如果此时不需要更新,您将收到以下输出:

OutputYour system is ready to brew.

否则,您可能会收到运行另一个命令(例如 brew update)的警告,以确保您的 Homebrew 安装是最新的。 在继续之前,请按照屏幕上的任何说明完成环境配置。

第 3 步 — 安装、升级和删除软件包

现在 Homebrew 已经安装好了,用它来下载一个包。 tree 命令可让您查看图形目录树,可通过 Homebrew 获得。

使用 brew install 命令安装 tree

brew install tree

Homebrew 将更新其软件包列表,然后下载并安装 tree 命令:

Output. . .
==> Downloading https://ghcr.io/v2/homebrew/core/tree/manifests/2.0.2
######################################################################## 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/tree/blobs/sha256:e1d7569f6930271d694e739e93eb026aac1e8b386
==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sha256:e1d7569f6930271d694e739
######################################################################## 100.0%
==> Pouring tree--2.0.2.x86_64_linux.bottle.tar.gz
🍺  /home/linuxbrew/.linuxbrew/Cellar/tree/2.0.2: 8 files, 162.4KB
==> Running `brew cleanup tree`...

Homebrew 默认将文件安装到 /home/linuxbrew/.linuxbrew/bin/,因此它们不会干扰未来的 Linux 更新。 通过使用 which 命令显示命令的位置来验证 tree 是否已安装:

which tree

输出显示 tree 位于 /home/linuxbrew/.linuxbrew/bin/

Output/home/linuxbrew/.linuxbrew/bin/tree

运行 tree 命令查看版本:

tree --version

版本打印到屏幕上,表明它已安装:

Outputtree v2.0.2 (c) 1996 - 2022 by Steve Baker, Thomas Moore, Francesc Rocher, Florian Sesser, Kyosuke Tokoro

有时,您会想要升级现有的软件包。 使用 brew upgrade 命令,后跟包名:

brew upgrade tree

您可以运行 brew upgrade 而不使用其他参数来升级 Homebrew 管理的所有程序和包。

当您安装新版本时,Homebrew 会保留旧版本。 一段时间后,您可能希望通过删除这些旧副本来回收磁盘空间。 运行 brew cleanup 以删除 Homebrew 管理的软件的所有旧版本。

要删除不再使用的包,请使用 brew uninstall。 要卸载 tree 命令,请运行以下命令:

brew uninstall tree

输出显示包已被删除:

OutputUninstalling /home/linuxbrew/.linuxbrew/Cellar/tree/2.0.2... (8 files, 162.4KB)

第 4 步 — 卸载 Homebrew

如果你不再需要 Homebrew,你可以使用它的卸载脚本。

使用 curl 下载卸载脚本:

curl -fsSL -o uninstall.sh https://raw.githubusercontent.com/Homebrew/install/master/uninstall.sh

与往常一样,使用 less 命令查看脚本的内容以验证脚本的内容:

less uninstall.sh

验证脚本后,使用 --help 标志执行脚本以查看可以使用的各种选项:

bash uninstall.sh --help

屏幕上显示的选项:

OutputHomebrew Uninstaller
Usage: uninstall.sh [options]
    -p, --path=PATH  Sets Homebrew prefix. Defaults to /usr/local.
        --skip-cache-and-logs
                     Skips removal of HOMEBREW_CACHE and HOMEBREW_LOGS.
    -f, --force      Uninstall without prompting.
    -q, --quiet      Suppress all output.
    -d, --dry-run    Simulate uninstall but don't remove anything.
    -h, --help       Display this message.

使用 -d 标志查看脚本将执行的操作:

bash uninstall.sh -d

该脚本将列出它将删除的所有内容:

OutputWarning: This script would remove:
/home/linuxbrew/.linuxbrew/Caskroom/
/home/linuxbrew/.linuxbrew/Cellar/
/home/linuxbrew/.linuxbrew/Homebrew/
/home/linuxbrew/.linuxbrew/Homebrew/.dockerignore
/home/linuxbrew/.linuxbrew/Homebrew/.editorconfig
. . .

当您准备好删除所有内容时,请运行不带任何标志的脚本:

bash uninstall.sh

这将删除 Homebrew 以及您随它安装的所有程序。

结论

在本教程中,您在 Linux 环境中安装并使用了 Homebrew。 您现在可以使用 Homebrew 安装命令行工具、编程语言和其他软件开发所需的实用程序。

Homebrew 有许多可以安装的软件包。 访问【X10X】官方列表【X27X】,搜索你喜欢的节目。