一文带你玩转Homebrew

搜索软件

brew search [TEXT|/REGEX/] 用于搜索软件,支持使用正则表达式进行复杂的搜索。git

例如,查询静态博客生成工具hugo:github

$ brew search hugo

==> Searching local taps...
hugo ✔
==> Searching taps on GitHub...
==> Searching blacklisted, migrated and deleted formulae...
复制代码

查看安装的包

查看已经安装的包正则表达式

brew listsql

查看包相关信息

brew info 能够查看包的相关信息,最有用的应该是包依赖和相应的命令。好比 Nginx 会提醒你怎么加 launchctl ,PostgreSQL 会告诉你如何迁移数据库。这些信息会在包安装完成后自动显示,若是忘了的话能够用这个命令很方便地查看。数据库

brew info $FORMULA    # 显示某个包的信息
brew info             # 显示安装了包数量,文件数量,和总占用空间
brew deps 能够显示包的依赖关系,我经常使用它来查看已安装的包的依赖,而后判断哪些包是能够安全删除的。

brew deps --installed --tree # 查看已安装的包的依赖,树形显示
复制代码

更新 Homebrew

要获取最新的包的列表,首先得更新 Homebrew 本身。这能够用 brew update 办到。缓存

brew update 完后会显示能够更新的包列表,其中打钩的是已经安装的包。安全

更新包 (formula)

更新以前,我会用 brew outdated 查看哪些包能够更新。bash

brew outdated 而后就能够用 brew upgrade 去更新了。Homebrew 会安装新版本的包,但旧版本仍然会保留微信

brew upgrade # 更新全部的包工具

brew upgrade $FORMULA # 更新指定的包

清理旧版本

新版本安装了,旧版本就不须要了。我会用 brew cleanup 清理旧版本和缓存文件。Homebrew 只会清除比当前安装的包更老的版本,因此不用担忧有些包没更新但被删了。

brew cleanup # 清理全部包的旧版本

brew cleanup $FORMULA # 清理指定包的旧版本

brew cleanup -n # 查看可清理的旧版本包,不执行实际操做

如今该更新的都更新了,旧版本也被清理。

对于Homebrew来讲,若是没有卸载掉软件包的全部版本,那么Homebrew会继续尝试安装这个软件包的最新版本。要想完全卸载某个软件包,须要执行命令:

brew uninstall formula_name --force

锁定不想更新的包

若是常常更新的话,brew update 一次更新全部的包是很是方便的。但咱们有时候会担忧自动升级把一些不但愿更新的包更新了。数据库就属于这一类,尤为是 PostgreSQL 跨 minor 版本升级都要迁移数据库的。咱们更但愿找个时间单独处理它。这时可用 brew pin 去锁定这个包,而后 brew update 就会略过它了。

brew pin $FORMULA      # 锁定某个包
brew unpin $FORMULA    # 取消锁定
复制代码

服务管理

brew services 用于方便的管理 brew 安装的软件软件,相似于 Linux 下的 service 命令。

brew services command:
Integrates Homebrew formulae with macOS' launchctl manager. [sudo] brew services list: List all running services for the current user (or root). [sudo] brew services run (formula|--all): Run the service formula without registering to launch at login (or boot). [sudo] brew services start (formula|--all): Start the service formula immediately and register it to launch at login (or boot). [sudo] brew services stop (formula|--all): Stop the service formula immediately and unregister it from launching at login (or boot). [sudo] brew services restart (formula|--all): Stop (if necessary) and start the service formula immediately and register it to launch at login (or boot). [sudo] brew services cleanup: Remove all unused services. If sudo is passed, operate on /Library/LaunchDaemons (started at boot). Otherwise, operate on ~/Library/LaunchAgents (started at login). 复制代码

查看配置信息

brew config 用于查看 brew 所在环境及相关的配置状况

诊断问题

brew doctor 诊断当前 brew 存在哪些问题,并给出解决方案

仓库管理

brew tap 已安装的仓库列表

brew tap [--full] user/repo [URL] 添加仓库

brew untap tap 移除仓库
复制代码

替换homebrew源

替换homebrew默认源

cd "$(brew --repo)"
git remote set-url origin git://mirrors.ustc.edu.cn/brew.git
复制代码

替换homebrew-core源

cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote set-url origin git://mirrors.ustc.edu.cn/homebrew-core.git
复制代码

homebrew可视化管理工具

若是你不想去记忆那么多命令,也可使用Cakebrew官网)可视化管理

可以使用以下命令安装

brew cask install cakebrew
复制代码

而后你就能够愉快的使用homebrew啦

homebrew services可视化管理

LaunchRocket 是很是友好的图形界面,使用起来简单快捷。好比你使用Homebrew安装的Mysql、Redis、MongoDB,是让它自启动呢,仍是手动启动,传统方式须要使用命令行的命令,而使用LaunchRocket则能够在图形界面中进行管理了!

安装方法:

brew tap jimbojsb/launchrocket
brew cask install launchrocket
复制代码

而后你就能够在系统设置面板启动它了

程序界面以下

本文亦在微信公众号【小道资讯】发布,欢迎扫码关注!

image
相关文章
相关标签/搜索