繁体   English   中英

如何冻结像pip这样的酿造要求?

[英]How to freeze brew requirements like pip?

brew中是否有一种方法或特殊命令可以将已安装的软件包冻结到requirements.txt文件中,就像在python中使用pip一样? 然后从该文件快速重新安装它们?

使用Homebrew-bundle ; 它是专为此而设计的。

# generate a Brewfile
$ brew bundle dump
$ ls
Brewfile

# check everything is installed
$ brew bundle check
The Brewfile's dependencies are satisfied.

它适用于本地公式文件和当前用户的全局公式文件。 它允许您安装Brewfile指定的Brewfile (默认情况下,您可以使用您喜欢的任何名称),以及卸载已安装但未在文件中列出的内容。 该文件不仅列出已安装的公式,还安装了水龙头(例如homebrew/versionshomebrew/php等)和垃圾桶(如果你使用Homebrew Cask )。

编辑以回答没有版本冻结的问题。

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中),它试图将主要版本号映射到homebrew/versions条目并且能够处理奇怪的情况,如4 -> node4-lts 它将仅限于主要版本或某些情况下的主要版本和次要版本,因为这是homebrew/versions具有的。 并且它必须检查每个包的brew info当前版本是什么,因为当前版本只是没有编号的包名。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM