如何像 pip 一样冻结 brew 需求?
How to freeze brew requirements like pip?
brew 中有没有一种方法或特殊命令可以将安装的软件包冻结到 requirements.txt 文件中,就像在 python 中使用 pip 一样?然后从该文件快速重新安装它们?
编辑以回答问题 w/o 版本冻结。
brew list >brew.txt
<brew.txt xargs brew install
--
Homebrew 旨在为您提供最新版本的软件包。冻结版本不是它的强项。
有两个功能可以让您参与其中。 brew list --versions
将打印一个软件包列表及其安装的版本号(以空格分隔,这需要重新格式化才能有用。brew tap homebrew/versions
让您可以访问一些旧版本的软件包。
不幸的是,命名方案不太行得通。例如,我安装了 node
包,目前是 5.5.0
。那我brew install homebrew/versions/node4-lts
。 brew list --versions
中的结果是什么?
node 5.5.0
node4-lts 4.3.1
简而言之,按照您的要求进行操作需要一些脚本(可能存在也可能不存在,但似乎没有内置到 Homebrew 中)试图将主要版本号映射到 [=18 中的条目=] 并且能够处理奇怪的情况,例如 4 -> node4-lts
。它将仅限于主要版本,或者在某些情况下主要版本和次要版本,因为那是 homebrew/versions
所拥有的。并且它必须检查 brew info
每个包的当前版本是什么,因为当前版本只是没有编号的包名称。
使用Homebrew-bundle;它就是为此而设计的。
# generate a Brewfile
$ brew bundle dump
$ ls
Brewfile
# check everything is installed
$ brew bundle check
The Brewfile's dependencies are satisfied.
它适用于本地公式文件和当前用户的全局公式文件。它允许您安装 Brewfile
中指定的所有内容(这是默认设置,您可以使用任何您喜欢的名称)以及 uninstall 已安装但未在文件中列出的内容。该文件不仅列出了已安装的配方,还列出了已安装的水龙头(例如 homebrew/versions
、homebrew/php
等)和木桶(如果您使用 Homebrew Cask)。
brew 中有没有一种方法或特殊命令可以将安装的软件包冻结到 requirements.txt 文件中,就像在 python 中使用 pip 一样?然后从该文件快速重新安装它们?
编辑以回答问题 w/o 版本冻结。
brew list >brew.txt
<brew.txt xargs brew install
--
Homebrew 旨在为您提供最新版本的软件包。冻结版本不是它的强项。
有两个功能可以让您参与其中。 brew list --versions
将打印一个软件包列表及其安装的版本号(以空格分隔,这需要重新格式化才能有用。brew tap homebrew/versions
让您可以访问一些旧版本的软件包。
不幸的是,命名方案不太行得通。例如,我安装了 node
包,目前是 5.5.0
。那我brew install homebrew/versions/node4-lts
。 brew list --versions
中的结果是什么?
node 5.5.0
node4-lts 4.3.1
简而言之,按照您的要求进行操作需要一些脚本(可能存在也可能不存在,但似乎没有内置到 Homebrew 中)试图将主要版本号映射到 [=18 中的条目=] 并且能够处理奇怪的情况,例如 4 -> node4-lts
。它将仅限于主要版本,或者在某些情况下主要版本和次要版本,因为那是 homebrew/versions
所拥有的。并且它必须检查 brew info
每个包的当前版本是什么,因为当前版本只是没有编号的包名称。
使用Homebrew-bundle;它就是为此而设计的。
# generate a Brewfile
$ brew bundle dump
$ ls
Brewfile
# check everything is installed
$ brew bundle check
The Brewfile's dependencies are satisfied.
它适用于本地公式文件和当前用户的全局公式文件。它允许您安装 Brewfile
中指定的所有内容(这是默认设置,您可以使用任何您喜欢的名称)以及 uninstall 已安装但未在文件中列出的内容。该文件不仅列出了已安装的配方,还列出了已安装的水龙头(例如 homebrew/versions
、homebrew/php
等)和木桶(如果您使用 Homebrew Cask)。