Homebrew最近不赞成通过新格式homebrew/versions提供版本.例如(根据这个答案),你可以做到.homebrew/coreformula@versionbrew install postgresql@9.5
当然,这对任意版本都不起作用.例如,install cocoapods@1.1.1出现"错误:在水龙头中找不到公式".
在旧方法下,我可以运行brew versions <formula>以查看可用版本.我现在如何列出可用版本?
Ame*_*ina 81
您可以使用搜索版本brew search.
例如:
$ brew search postgresql
postgresql ? postgresql@9.4 postgresql@9.5
Run Code Online (Sandbox Code Playgroud)
Jro*_*rop 28
这是一个老问题,但我找到了一种“更好”(对我而言)的方法来做到这一点:
brew info --json PACKAGE_NAME | jq -r '.[].versioned_formulae[]'
Run Code Online (Sandbox Code Playgroud)
例如,在 package 的情况下node,这将打印:
$ brew info --json node | jq -r '.[].versioned_formulae[]'
node@10
node@12
node@8
Run Code Online (Sandbox Code Playgroud)
您需要jq安装该程序才能深入到适当的 JSON ( brew install jq)。
由于上述内容难以编写/记住,我建议在您最喜欢的 shell 中设置别名或函数。
qix*_*qix 10
而且,如果您想在使用查找公式后仅查找公式使用的特定版本search,则可以info使用:
brew info <formula>
# or for a cask:
brew cask info <formula>
Run Code Online (Sandbox Code Playgroud)
例如brew info postgresql@10,或brew cask info vlc
而且,如果找不到流行的旧木桶版本,则可以通过homebrew-cask-versions安装,通过来获得brew tap homebrew/cask-versions。
为了获得准确的结果而不产生额外的噪音,您可以将正则表达式与brew search. 它排除了qt-postgresql和postgrest,后者将由 返回brew search postgresql。如果您正在搜索诸如r或 之类的短包名称,这将特别有用git,否则会返回大量噪音。
$ brew search '/^postgresql$|^postgresql@/'
==> Formulae
postgresql postgresql@11 postgresql@13 postgresql@9.5
postgresql@10 postgresql@12 postgresql@9.4 postgresql@9.6
Run Code Online (Sandbox Code Playgroud)
请注意,brew search似乎确实支持扩展正则表达式,因此我无法使用下面更有效的正则表达式。当然,您可以使用 grep 管道来完成相同的任务:
$ brew search postgresql | grep -E '^postgresql(@.*)?$'
postgresql
postgresql@10
postgresql@11
postgresql@12
postgresql@13
postgresql@9.4
postgresql@9.5
postgresql@9.6
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
46310 次 |
| 最近记录: |