brew又叫homebrew,是macos上的一个包管理工具,能够在mac中方便的进行包管理,类似于ubuntu系统下的apt-get,记得自己第一次接触brew是为了在mac上安装一个独立绿色的视频播放器,因为mac自带的播放器QuickTime Player实在是太简陋了。多方查找资料后发现了IINA这款软件。让我没想到的是,这款软件不是我熟悉的通过.dmg文件安装,而是需要通过他们所说的一个叫brew的东西来安装。这可能是我接触自由软件世界的第一个窗口,仍然记得当时在终端中运行brew cask install iina,看到屏幕中打印出来的进度条,然后IINA被安装到applications中的那种惊喜感。而且发现使用的是清华的镜像源,心想我们学校Linux协会也太没牌面。
安装brew的方法很简单,按照官网上的说明在终端中运行对应的命令即可。下面介绍brew的常用命令。
上面这个图是在终端中运行brew的结果,已经涵盖了brew最最常用的一些命令。
brew list #列出所有安装的包
brew search + 包名 #在源中搜索期望的包
brew info + 包名 #在源中搜索期望的包,并且打印更详细的信息
brew install + 包名 #安装对应的包
brew uninstall + 包名 #卸载已经安装的包
brew updata #升级brew
下面是brew稍微不常用但是也非常有用的命令:
brew deps + 包名 #显示包的依赖
brew link + 包名 #将包link到环境中
brew unlink + 包名 #brew link的逆操作
brew deps显示了该包依赖的其他包,强烈建议在安装包之前三步走:search deps info,这样会极大程度上避免安装和自身不兼容的包。而且防止安装许多不需要的包。
关于brew link则需要了解一个概念-> keg-only ,字面翻译,装在桶里。也就是说这个软件虽然被brew下载下来了,但是却没有被系统所使用,也就是没有被加入到环境变量里。默认brew install是进行了brew link操作的,但是如果出现冲突,软件就会变成keg-only状态,这时候需要brew link使brew安装的软件发挥作用。同时,如果不想使用brew安装的软件,brew unlink就是很好的选择,环境变量会指向其他的包。比如使用brew安装python,很容易会和环境中原来的python冲突,brew unlink则会失能brewpython。这时候需要仔细看自己将要安装的包的依赖里是否有python,如果有的话很可能会出现意想不到的情况。
细心的朋友可能发现,我安装IINA没有使用brew install,而是使用了brew cask install。他们的区别是什么呢?brew install安装的东西,在brew里被称作formula,其实也就是从网上下载源码,然后make,build,这样就可以在本地安装对应软件。brew cask install安装的则是已经编译打包好的软件包。不难想象brew cask安装的软件很容易的被移动到了applications文件夹里。