如何在自制程序中安装特定版本的公式?例如,postgresql-8.4.4而不是最新的9.0。
当前回答
自那以后,一个更新的答案补充了@lance pollard已经发布的有效答案。
如何安装特定版本的公式(本示例中使用的公式为地形):
查找公式文件,例如:https://github.com/Homebrew/homebrew-core/blob/master/Formula/terraform.rb使用获取github历史记录中的提交版本https://github.com/Homebrew/homebrew-core/commits/master/Formula/terraform.rb或git-log-master--Formula/traform.rb(如果您在本地克隆了repo)。获取带有公式提交版本的原始gitURL:如果github.com中的公式链接是https://github.com/Homebrew/homebrew-core/blob/e4ca4d2c41d4c1412994f9f1cb14993be5b2c59a/Formula/terraform.rb,原始URL将为:https://raw.githubusercontent.com/Homebrew/homebrew-core/e4ca4d2c41d4c1412994f9f1cb14993be5b2c59a/Formula/terraform.rb使用:brew Install安装https://raw.githubusercontent.com/Homebrew/homebrew-core/e4ca4d2c41d4c1412994f9f1cb14993be5b2c59a/Formula/terraform.rb
其他回答
按照@halfcube的建议,这非常有效:
查找您要查找的库https://github.com/Homebrew/homebrew-core/tree/master/Formula单击它:https://github.com/Homebrew/homebrew-core/blob/master/Formula/postgresql.rb单击“历史记录”按钮查看旧提交:https://github.com/Homebrew/homebrew-core/commits/master/Formula/postgresql.rb单击所需的选项:“postgresql:update version to 8.4.4”,https://github.com/Homebrew/homebrew-core/blob/8cf29889111b44fd797c01db3cf406b0b14e858c/Formula/postgresql.rb单击“原始”链接:https://raw.githubusercontent.com/Homebrew/homebrew-core/8cf29889111b44fd797c01db3cf406b0b14e858c/Formula/postgresql.rbbrew安装https://raw.githubusercontent.com/Homebrew/homebrew-core/8cf29889111b44fd797c01db3cf406b0b14e858c/Formula/postgresql.rb
其他答案都没有充分涵盖2022年的这一问题,因此我添加了以下说明,这些说明改编自Homebrew维护人员对安装特定酒桶版本的类似问题的回答:https://stackoverflow.com/a/62765875/6310633
卸载公式
brew uninstall <formula>
切换到自制核心回购的克隆,并重置为包含所需版本的提交。
cd "$(brew --prefix)/Library/Taps/homebrew/homebrew-core/Formula"
git log <formula>.rb # examine recent commits for <formula>
git reset --hard <commit-sha> # reset clone to last known-good commit for <formula>
为您的版本签出一个新的分支,这样brew不会在每次命令后自动刷新master,安装您的公式并锁定它。
git checkout -b <formula>-downgrade-<version>
brew install <formula>
brew pin <formula>
清理
git checkout master
brew update
当您准备好升级公式时,您可以像往常一样酿造unpin<formula>并升级。
在最新版本的自制程序(截至本文撰写时为0.9.5)上,将有一个你想要安装的自制桶版本的具体配方。例子:
$ brew search mongodb
mongodb mongodb24 mongodb26
然后,像正常一样进行brew安装mongodb26。
如果您已经安装了最新版本,请确保取消链接最新版本并链接所需版本:brew unlink mongodb&&brew link mongob26。
我刚刚使用Homebrew返回到Maven 2.2.1,因为简单的brew安装Maven安装了Maven 3.0.3。
首先你必须把maven目录放在那里
$ brew unlink maven
使用brew tap命令
$ brew tap homebrew/versions Cloning into '/usr/local/Library/Taps/homebrew-versions'... remote: Counting objects: 590, done. remote: Compressing objects: 100% (265/265), done. remote: Total 590 (delta 362), reused 549 (delta 325) Receiving objects: 100% (590/590), 117.49 KiB | 79 KiB/s, done. Resolving deltas: 100% (362/362), done. Tapped 50 formula
现在,您可以安装maven2公式:
$ brew install maven2 ==> Downloading http://www.apache.org/dist/maven/maven-2/2.2.1/binaries/apache-maven-2.2.1-bin.tar.gz ######################################################################## 100.0% /usr/local/Cellar/maven2/2.2.1: 10 files, 3.1M, built in 6 seconds
$ mvn --version Apache Maven 2.2.1 (r801777; 2009-08-06 12:16:01-0700) Java version: 1.6.0_37 Java home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home Default locale: en_US, platform encoding: MacRoman OS name: "mac os x" version: "10.7.4" arch: "x86_64" Family: "mac"
编辑:您也可以只编写switch maven 2.2.1来切换到不同的版本。
编辑:Apache Maven项目重组了他们的repo。更新此答案以说明此更改。
我已经尝试了这里的大多数解决方案,但它们已经过时了。我不得不把这里的一些想法与我自己的工作结合起来。因此,我创建了一个脚本来帮助我完成你可以在这里找到的繁重任务
用法:
brewv.sh formula_name desired_version
推荐文章
- 在MacOS X上推荐用什么方式安装Node.js、nvm和npm ?
- 我如何安装imagemagick与自制?
- 我如何知道哪些自制配方是可升级的?
- "ERROR:root:code for hash md5 was not found"当使用任何hg mercurial命令时
- homebrew、macports或其他软件包安装工具的区别/用途是什么?
- Ruby Bundle Symbol not found: _SSLv2_client_method (LoadError)
- Virtualenvs中的破引用
- brew install XXX和brew cask install XXX有什么区别
- Brew安装docker不包括docker引擎?
- 我如何使用brew安装Python作为默认的Python?
- 如何用自制程序更新公式?
- 在安装Homebrew后,我得到' zsh:命令未找到:brew '
- 升级所有通过家酿桶安装的桶
- 如何在OSX上更新Xcode到最新版本?
- 如何找到Homebrew的可安装软件包列表?