Homebrew 是一款 Mac OS 平台下的软件包管理工具,官方称之为:The missing package manager for OS X。Homebrew(官网地址:https://brew.sh)拥有安装、卸载、更新、查看、搜索等很多实用的功能,简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径的情况,十分方便快捷。例如:安装 chrome,只需输入:brew cask install chrome 即可。
一、Homebrew 安装、卸载等命令
Homebrew 的安装和卸载都非常简单,只需要在终端输入相应的命令即可成功安装或卸载。
1、Homebrew 安装命令
- /usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”
2、Homebrew 卸载命令
- /usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)”
3、Homebrew常用命令列表
- brew help #查看所有命令
- brew search mysql #搜索
- brew install mysql #安装软件
- brew uninstall mysql #卸载软件
- brew list #显示已经安装软件列表
- brew services list #显示安装的服务
- brew info mysql #查看信息,比如目前的版本,依赖,安装后注意事项等
4、Homebrew一般命令列表
- brew services start mysql #启动
- brew services stop mysql #停止)
- brew services restart mysql #重启)
- brew update #更新 Homebrew
- brew outdated #列出所有安装的软件里可以升级的那些
- brew upgrade #更新所有的包
- brew upgrade $mysql #更新指定的包
- brew cleanup # 清理所有包的旧版本
- brew cleanup $mysql #清理指定包的旧版本
- brew cleanup -n #查看可清理的旧版本包,不执行实际操作
- which brew #查看 brew 命令的路径
- brew home mysql #用浏览器打开官方主页
二、Homebrew锁定不想更新的包
如果经常更新的话,brew update 一次更新所有的包是非常方便的。但我们有时候会担心自动升级把一些不希望更新的包更新了。数据库就属于这一类,尤其是 PostgreSQL 跨 minor 版本升级都要迁移数据库的。我们更希望找个时间单独处理它。这时可用 brew pin 去锁定这个包,然后 brew update 就会略过它了,用到的命令如下:
- brew pin $FORMULA #锁定某个包
- brew unpin $FORMULA # 取消锁定
- brew deps #查看包的依赖关系,常用它来查看已安装的包的依赖,然后判断哪些包是可以安全删除的。
- brew deps –installed –tree #查看已安装的包的依赖,树形显示
三、Homebrew 扩展推荐
1、Homebrew Cask
- 安装:brew tap Homebrew/cask
- 说明:brew-cask 便于用更简洁的命令行安装 OS X 应用!比如你可以这样安装 Chrome:brew cask install google-chrome。几乎所有常用的应用都可以通过 brew-cask 安装,而且是从应用的官网上下载,所以你要安装新的应用时,建议用 brew-cask 安装。如果你不知道应用在 brew-cask 中的 ID,可以先用 brew cask search 命令搜索。
2、Homebrew的可视化管理
2.1 Cakebrew
- 安装:brew cask install cakebrew
- 说明:如果你不熟悉终端命令,可以下载 cakebrew,它是 Homebrew 的客户端,可以实现常用的搜索、安装、卸载操作。
2.2 LaunchRocket
- 安装:brew cask install launchrocket
- 说明:LaunchRocket 是一个帮助管理 Homebrew 安装的服务的软件,比如你使用 Homebrew 安装的 Mysql、Redis、MongoDB,是让它自启动呢,还是手动启动,传统方式需要使用命令行的命令,而使用 LaunchRocket 则可以在图形界面中进行管理了!