为什么要用homebrew
我以前是这样管理Mac上的软件的:
-
下载:想要下载某个软件,一般是Google到它的官网,然后在官网上下载对应的dmg文件,下载完成后点击安装。对于Mac,只需要把软件拖到Application文件夹下面。最后把dmg文件扔进垃圾箱删除掉。
-
更新:打开对应的软件,点击软件的更新检查,触发内置的更新流程,重启一下软件,完成更新。
-
删除:把软件从Application文件夹下拖到垃圾箱,或者右键点删除。
-
备份:??把软件的安装文件放在某个特定文件夹下面,下次重装电脑或者设置新电脑时掏出来用。
最近公司的Mac遇到了一些问题,需要整个电脑重装一下。平时我的所有数据都在Documents文件夹下面,打个包存在U盘,重装完成之后挪回来就可以了。但是工作电脑上装了不少的软件,我就需要先记录下所有需要的软件,然后在系统重装完成后,把它们一个一个安装回来。回想过去,每次入职新公司或者满3年公司换新电脑,都需要走这么一遍流程,应该有成熟的解决方案,而这个解决方案就是很多Mac用户已经安装的Homebrew。只不过大家经常只是用它来安装软件,没有利用它管理软件。
如何使用homebrew
安装homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
安装单个软件
brew install --cask "google-chrome"
安装多个软件
# 根目录创建Brewfile
cd ~
vi Brewfile
# 编辑 Brewfile
# 如 cask "notion"
# cask "firefox"
# 安装所有软件
brew bundle
备份当前安装的软件
brew bundle dump
更新安装的软件
# 更新所有软件
brew update && brew upgrade && brew cleanup
# 查看哪些软件可以更新
brew outdated
# 查看哪些 Cask 应用可以更新
brew outdated --cask
优点和局限
优点很明显,只要周期性地备份Brewfile这个文件,我们就能获得Mac上安装的软件列表,并且在需要的时候,可以很快地在新电脑上安装它们。
通过这种方法的局限,不是所有的软件都能通过homebrew安装,比如ClashX,SuperThread等。所以对于它们,还是需要有个记录的地方,希望这类软件越来越少。
2025.09.10 我的软件列表(Brewfile)
########### Productivity ############
# Raycast
cask "raycast"
# Notion
cask "notion"
# Firefox
cask "firefox"
# Chrome
cask "google-chrome"
# Todoist
cask "todoist-app"
# WeChat
cask "wechat"
# WeCom
cask "wechatwork"
# Zoom
cask "zoom"
# Tencent Meeting
cask "tencent-meeting"
# Tunnelblick
cask "tunnelblick"
# PDF Expert
cask "pdf-expert"
# Xmind
cask "xmind"
# Hidden Bar
cask "hiddenbar"
########## Dev & QA ###########
# UV
brew "uv"
# BeeKeeper Studio
cask "beekeeper-studio"
# Proxyman
cask "proxyman"
# Postman
cask "postman"
# iterm2
cask "iterm2"
# PyCharm
cask "pycharm"
# Android Studio
cask "android-studio"
# VS Code
cask "visual-studio-code"
# Github Desktop
cask "github"
# Cursor
cask "cursor"
# Trae
cask "trae-cn"