@geekpi
https://linux.cn/article-14065-1.html
This commit is contained in:
Xingyu Wang 2021-12-09 09:07:04 +08:00
parent 7d731becab
commit 8a4f979e2d

View File

@ -3,34 +3,36 @@
[#]: author: "Abhishek Prakash https://itsfoss.com/author/abhishek/"
[#]: collector: "lujun9972"
[#]: translator: "geekpi"
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-14065-1.html"
在 Linux 上安装和使用 Homebrew 包管理器
======
Homebrew也被称为 Brew是一个主要为 macOS 创建的命令行包管理器。
![](https://img.linux.net.cn/data/attachment/album/202112/09/090614sptwo73z73f7fw7u.jpg)
Homebrew家酿也被称为 Brew是一个主要为 macOS 创建的命令行包管理器。
[Homebrew][1] 在 macOS 用户中相当流行,因为更多的开发者创造了可以用 Homebrew 轻松安装的命令行工具。
这种流行导致了 Linuxbrew 的诞生,它是 Homebrew 的一个 Linux 移植。由于它主要是 Git 和 Ruby而 Linux 和 macOS 都是类 Unix 的系统,所以 Brew 在两种操作系统上都能很好地工作。
这种流行导致了 Linuxbrew 的诞生,它是 Homebrew 的一个 Linux 移植。由于它主要是 Git 和 Ruby 组成的,而 Linux 和 macOS 都是类 Unix 的系统,所以 Brew 在两种操作系统上都能很好地工作。
Linuxbrew 项目最终与 Homebrew 项目合并,现在只有一个 Brew 项目,叫做 Homebrew。
Linuxbrew 项目最终与 Homebrew 项目合并,现在只有一个 Brew 项目,叫做 Homebrew。
为什么我叫它brew而不是Homebrew因为命令以brew开头。你会在后面的章节中看到它的详细内容。
为什么我叫它 Brew而不是 Homebrew因为命令以 `brew` 开头。你会在后面的章节中看到它的详细内容。
### 当你有 apt、dnf、snap 等软件时,为什么还要在 Linux 上使用 Homebrew 包管理器?
### 当你已经 apt、dnf、snap 时,为什么还要在 Linux 上使用 Homebrew 包管理器?
我知道这种感觉。你已经有一个由你的发行版提供的好的[包管理器][2]。除此之外,你还有 Snap、Flatpak 和其他通用软件包系统。
我知道这种感觉。你已经有一个由你的发行版提供的好的 [包管理器][2]。除此之外,你还有 Snap、Flatpak 和其他通用软件包系统。
你真的需要 Homebrew 包管理器在你的 Linux 系统上吗?答案取决于你的需求。
在你的 Linux 系统上你真的需要 Homebrew 包管理器吗?答案取决于你的需求。
你看,除了发行版的包管理器和通用包管理器,你会遇到需要其他包管理器的情况,比如 [Pip][3] 用于Python 应用)和 [Cargo][4] (用于 Rust 软件包)。
你看,除了发行版的包管理器和通用包管理器,你会遇到需要其他包管理器的情况,比如 [Pip][3] (用于 Python 应用)和 [Cargo][4] (用于 Rust 软件包)。
想象一下,你遇到了一个很好的命令行工具,想试试。它的软件库提到它可以使用 brew 或源代码来安装。在这种情况下,在你的系统上有 brew 可能会有帮助。毕竟,在 2020 年代,[从源代码安装][5]并不时髦(也不舒服)。
想象一下,你遇到了一个很好的命令行工具,想试试。它的软件库提到它可以使用 `brew` 或源代码来安装。在这种情况下,在你的系统上有 `brew` 可能会有帮助。毕竟,都 2021 了,[从源代码安装][5] 并不时髦(也不舒服)。
换句话说,如果你遇到一些有趣的命令行工具只提供 brew 安装选项,你会有一个额外的选择。
换句话说,如果你遇到一些有趣的命令行工具只提供 `brew` 安装选项,你会有一个额外的选择。
### 在 Ubuntu 和其他 Linux 发行版上安装 Homebrew
@ -38,14 +40,12 @@ Linuxbrew 项目最终与 Homebrew 项目合并,现在你只有一个 Brew 项
#### 步骤 1安装依赖项
你需要有相对较新版本的 gcc 和 glibc。你可以[在 Ubuntu 上安装 build-essential 包][6]来获得它们。除此之外,你还需要[安装 Git][7]、Curl 和 procps用于监控系统进程
你需要有相对较新版本的 gcc 和 glibc。你可以 [在 Ubuntu 上安装 build-essential 包][6] 来获得它们。除此之外,你还需要 [安装 Git][7]、Curl 和 procps用于监控系统进程
在基于 Ubuntu 和 Debian 的系统中,你可以像这样一起安装所有这些东西:
```
sudo apt-get install build-essential procps curl file git
sudo apt-get install build-essential procps curl file git
```
![Iinstall dependencies for Homebrew in Ubuntu/Debian][8]
@ -54,125 +54,105 @@ Linuxbrew 项目最终与 Homebrew 项目合并,现在你只有一个 Brew 项
#### 步骤 2安装 Homebrew
你可以看到为什么你需要[安装 Curl][9]。它允许你[在终端下载安装脚本文件][10]。
你可以看到为什么你需要 [安装 Curl][9]。它允许你 [在终端下载安装脚本文件][10]。
只要输入这个命令:
只要输入这个命令
```
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
```
当要求输入回车键时,请按下。
当要求输入回车键时,请按下回车
![Installing Homebrew on Ubuntu][11]
在脚本最后,它建议运行几个命令,将其添加到 PATH 变量中。Homebrew 实际上是安装在你的主目录中,然后软链接到 /usr/local 目录中。
在脚本最后,它建议运行几个命令,将其添加到 `PATH` 变量中。Homebrew 实际上是安装在你的主目录中,然后软链接到 `/usr/local` 目录中。
![Run the suggested command under Next steps to add Homebrew to PATh variable][12]
你可以[在终端方便地复制和粘贴][13]。只要选择它所建议的命令,按 Ctrl+Shift+C 复制,按 Ctrl+Shift+V 粘贴。
你可以 [在终端方便地复制和粘贴][13]。只要选择它所建议的命令,按 `Ctrl+Shift+C` 复制,按 `Ctrl+Shift+V` 粘贴。
或者,你也可以直接复制粘贴这个命令:
```
echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> $HOME/.bash_profile
echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> $HOME/.bash_profile
```
然后是这个:
```
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
```
![Adding brew commands to the PATH][14]
#### 步骤 3验证 brew 的安装
就快完成了。只需通过使用 brew doctor 命令来验证 brew 命令是否可以运行:
就快完成了。只需通过使用 `brew doctor` 命令来验证 `brew` 命令是否可以运行:
```
brew doctor
brew doctor
```
brew doctor 命令会告诉你是否有任何问题。
`brew doctor` 命令会告诉你是否有任何问题。
你可以通过安装示例 hello 项目再次验证:
```
brew install hello
brew install hello
```
如果你没有看到任何错误,你可以在 Linux 上享受 Homebrew 包管理器
如果你没有看到任何错误,你可以在 Linux 上享用家酿了
### 使用 brew 命令来安装、删除和管理软件包
让我快速告诉你几个可以用来安装、删除和管理软件包的 brew 命令。
让我快速告诉你几个可以用来安装、删除和管理软件包的 `brew` 命令。
由于 Homebrew 安装在你的主目录中,你不需要 sudo 来运行它(就像 Pip 和 Cargo
由于 Homebrew 安装在你的主目录中,你不需要 `sudo` 来运行它(就像 Pip 和 Cargo
要用 brew 安装一个软件包,请使用安装选项:
要用 `brew` 安装一个软件包,请使用安装选项:
```
brew install package_name
brew install package_name
```
这里没有自动完成软件包名称的功能。你需要知道确切的软件包名称。
要删除一个 brew 软件包,你可以使用 **remove****uninstall** 选项。两者的作用是一样的。
要删除一个 `brew` 软件包,你可以使用 `remove``uninstall` 选项。两者的作用是一样的。
```
brew remove package_name
brew remove package_name
```
你也可以用这个命令列出已安装的 brew 软件包:
你也可以用这个命令列出已安装的 `brew` 软件包:
```
brew list
brew list
```
你也可以用 autoremove 选项删除不需要的依赖:
你也可以用 `autoremove` 选项删除不需要的依赖:
```
brew autoremove
brew autoremove
```
在下一张截图中,我只用 brew 安装了两个软件包但它也显示了这些软件包的依赖关系。即使在移除软件包后依赖关系仍然存在。autoremove 终于把它们删除了。
在下一张截图中,我只用 `brew` 安装了两个软件包,但它也显示了这些软件包的依赖关系。即使在移除软件包后,依赖关系仍然存在。`autoremove` 终于把它们删除了。
![Listing and removing brew apckages][15]
还有很多brew命令选项但这不在本教程的范围内。你可以随时[翻阅他们的文档][16]并进一步探索。
还有很多 `brew` 命令选项,但这不在本教程的范围内。你可以随时 [翻阅它的文档][16] 并进一步探索。
### 从Linux中删除 Homebrew
### 从 Linux 中删除 Homebrew
如果不加入从你的 Linux 系统中删除 Homebrew 的步骤,本教程就不完整。
根据[GitHub仓库中提到的步骤][17],你必须下载并使用这个命令运行卸载脚本:
根据 [GitHub 仓库中提到的步骤][17],你必须下载并使用这个命令运行卸载脚本:
```
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)"
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)"
```
你会被要求输入 Y 键来确认删除。
你会被要求输入 `Y` 键来确认删除。
![Removing Homebrew from Linux][18]
@ -180,11 +160,11 @@ brew doctor 命令会告诉你是否有任何问题。
![Remaining files after Homebrew removal][19]
让你自己去删除这些文件和目录。
让你自己去删除这些文件和目录。
### 总结
正如我前面解释的Homebrew 为你已经有的东西提供了一个扩展。如果你偶然发现一个只有 brew 安装方式的应用,在你的 Linux 系统上安装 Homebrew 会很方便。
正如我前面解释的Homebrew 为你已经有的东西提供了一个扩展。如果你偶然发现一个只有 `brew` 安装方式的应用,在你的 Linux 系统上安装 Homebrew 会很方便。
你对这个话题有什么要补充的,或者分享你的问题或意见?请在评论区留言。
@ -195,7 +175,7 @@ via: https://itsfoss.com/homebrew-linux/
作者:[Abhishek Prakash][a]
选题:[lujun9972][b]
译者:[geekpi](https://github.com/geekpi)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出