Homebrew是什么?
homebrew是包管理器,主要服务于macOS平台。包管理器是什么?简单理解,包管理器是管理集成命令行工具软件包的软件,比如你下载的fontconfig、sevenzip等等。
下载与安装
在终端中输入如下命令即可安装:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
这是homebrew技术文档推荐的命令,安装成功后会返回长信息。
常见失败是连接超时,返回信息:
curl: (28) SSL connection timeout
最简单的方法是打开homebrew的安装脚本,其网站如下:
https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh
之后保存该页面内容为.sh格式的文件,之后在终端执行如下命令:
bash install.sh
这里假设保存的文件名是install,以及你已经在终端定位到.sh所在文件目录。这种解决方案基本上可以解决安装失败。
安装完成后可以使用下面命令来检查是否成功安装:
brew --version
which brew
第1个命令返回版本号,第2个命令返回homebrew安装的路径。
安装7z为例
macOS自带解压缩.zip文件,但是对于.rar的支持较差,为了解压缩单独下载一个软件不值得,毕竟一般情况下不经常解压缩。这里以7z为例。
下载并安装7z只需如下命令:
brew install sevenzip
安装结束后会返回长信息。
检查安装的软件包是否成功安装:
which 7zz
一般来说,which后跟着的内容与brew install后跟着的内容一致。如果返回文件路径则说明安装成功。
这里以解压缩为例:
7zz x \
"summer pockets/Summer.Pockets.REFLECTION.BLUE-GoldBerg.part1.rar" \
-o"$HOME/game/summer pockets"
这样你就可以解压文件了。x是保持结构目录,-o是输出文件路径,其后不能有空格。$HOME与~一致,都是主目录,前者用于双引号内。\是续行符,其后不能添加任何字符,包括空格;使用续行符后按Enter键不会执行命令而是换行。从复制粘贴来看,续行符不太友好,不过直接复制粘贴也没影响。
Homebrew的机制
从上面简短的例子来看,homebrew其实是“软件商店”。在Windows操作系统中,你要下载与安装软件,你通常需要经历这样一个过程:找官网--->选版本--->下载--->安装界面点点点--->写配置--->测试配置。
但是homebrew不需要,它是下载、安装与配置都帮你完成了。这并不意味着homebrew有什么魔法可以跳过这些,而是homebrew执行全部过程。那么为什么homebrew可以自动化执行全部过程呢?以及它下载的软件来源在哪?homebrew下载的软件来源是官网(除非有人投毒),在homebrew中有一份表单,它根据表单的内容自动执行上述过程,而这份表单自然是有人维护的,因为软件会更新、操作系统也会更新。
Windows操作系统也有类似的包管理器,但是发展不乐观,多数情况还是点点点。homebrew可以让我们专注于工作而非工具。
