如何保存和版本化 brew 包?

How do I save and version brew packages?

我习惯于通过 npm、pip 和 gem 等工具安装包和库。这些工具允许我以某种形式(package.json、requirements.txt 或 Gemfile)跟踪已安装的包。然后可以将其签入回购协议并进行版本控制。

我在 Github 上有一个 dotfiles 存储库,我喜欢用它来对我的机器配置进行版本控制,我想知道是否有一种方法可以对已安装的 brew 软件包进行版本控制?如果是这样,这是怎么做到的? brew install --save 之类的东西是我所希望的。 :)

您正在寻找 Homebrew Bundle

它可以让您在 Brewfile.

中跟踪已安装的公式(包)

然后您可以使用 brew bundle dump 将所有已安装的公式转储到其中,使用 brew bundle 安装捆绑包中的所有公式,并删除所有未列出的已安装公式 在捆绑 brew bundle cleanup.

语法与Bundler的非常相似,所以很容易自己编辑文件。

它支持本地 Brewfile(例如每个项目一个)和全局 Brewfile (~/.Brewfile)。

安装:

$ brew tap homebrew/bundle

以下是适用于任何基于 *nix 的系统的简单方法:

#create list of installed packages
brew list | xargs -L1 > Brewfile
# install packages
cat Brewfile | xargs brew

这不像 Homebrew bundle 复杂,但如果您赶时间,它也能胜任。