前言
Homebrew,作为一款Mac下非官方(但是市面上没有比它更好的工具)的包管理工具,打算专门花点时间了解一下它。
简介
官方自己给自己的定义是:
The Missing Package Manager for macOS (or Linux).
目前除了Mac,Linux上也可以通过它安装管理软件包。
优点
相信用过Linux的同学,或多或少都有这样子的经历:
- 我忘了我当时把软件下载到哪个地方了……
- 我想彻底删除某个软件,但是我不确定这个软件具体都安装到哪些目录下面了
- 依赖怎么解决
当然Linux下一般都会有对应的包管理程序,比如apt
之类,而macOS没有默认的包管理器,homebrew就是这么一款包管理器。
名词
homebrew使用了一些比较特别名词,导致了有一些概念反而不太好理解,但是理解了之后你会发现,其实就是一个酿酒的过程,还是很形象的。
- brew:酿造。所以homebrew如果直译的话可以翻译成家庭自制,我个人觉得作者的意思就是自己写的一个包管理器的意思吧
- cask:木桶。用木桶来指代Mac的桌面程序。
- cellar:地窖。地窖当然是用来保存安装的程序的地方喽。
- keg:桶。这里的keg应该是那种比较小的桶
- bottle:小瓶子。预先编译好的包,直接下载使用即可,无需编译,目前大部分都是这类
- tap:水龙头。酿酒自然是需要水源的,而水龙头就象征着“源”
- formula:配方。安装包的描述文件
简单使用
以mysql为例,一般需要用brew进行软件管理的话,我个人是会首先进行搜索,brew search mysql
,看看结果:
可以看到,有两大类结果,分别是Formulae和Casks(对应了homebrew/core和homebrew/cask),简单来说一个是命令行工具,另外一个是图形化工具;然后brew还贴心帮你把已经安装好的打上了勾。
然后就是根据自己的需要进行安装了:brew install mysql@5.7
,如果是图形化工具,则我一般还会到这个网站上去看一看,进行确认。
还有一些比较常用的功能,这里稍微总结下:
安装:
brew install xxx
卸载:
brew uninstall xxx
重新安装:
brew reinstall xxx
显示可以升级的包:
brew outdated
升级某个包:
brew upgrade xxx
列出所有的包:
brew list
列出某个包的信息:
brew info xxx
基本上上述的命令就可以覆盖80%的日常使用了,如果希望了解更多,可以查阅官方文档或者是brew commands