如何使用 brew 找到所有可安装的版本?

如何使用 brew 找到所有可安装的版本?

假设我有一个组件foo,其版本有2.12.22.2.1可用3.0。假设我已安装版本2.1。我该如何告诉 brew 获取行中的最新版本2.x而不是 3.0?

有没有办法列出所有可用的版本?

有没有办法限制升级到最新版本2.x

答案1

最新版本的 homebrew 给出了错误Error: Unknown command: versions。这是因为versions已被 homebrew 淘汰。

相反,使用brew search elasticsearch。这将提供可用的 elasticsearch 版本。

例如。elasticsearch ✔ [email protected]

然后运行brew install [email protected]

您可以通过以下方式检查最终的 elasticsearch 版本elasticsearch --version

答案2

有没有办法限制升级到最新版本的 2.x?

我不相信brew有内置方法来指定最新的2.x。您必须指定。您可以使用并返回它来编写一个简单的 bash 命令。brew install [email protected]sortgrep

有没有办法列出所有可用的版本?

为了获得没有多余噪音的准确结果,您可以使用带有 的正则表达式brew search。它只返回foofoo@___。如果您要搜索像rgit这样的简短包名称,这将特别有用,否则会返回很多噪音。

$ brew search '/^foo$|^foo@/'

注意,brew search它似乎支持扩展正则表达式,所以我无法使用下面更高效的正则表达式。当然,您可以使用 grep 管道来实现相同的目的:

$ brew search foo | grep -E '^foo(@.*)?$'

答案3

以下是我得出的结论(我以此elasticsearch为例):

$ brew versions elasticsearch

1.3.2    git checkout 475debf /usr/local/Library/Formula/elasticsearch.rb
...
1.1.0    git checkout c7f653b /usr/local/Library/Formula/elasticsearch.rb
1.0.1    git checkout 9b8103f /usr/local/Library/Formula/elasticsearch.rb
1.0.0    git checkout 1fb5dda /usr/local/Library/Formula/elasticsearch.rb
0.90.11  git checkout 91c60b9 /usr/local/Library/Formula/elasticsearch.rb
0.90.10  git checkout b155496 /usr/local/Library/Formula/elasticsearch.rb
0.90.9   git checkout 28f45d0 /usr/local/Library/Formula/elasticsearch.rb
...

相关内容