使用Brew Extract安装公式的早期版本 [英] Installing previous versions of a formula with brew extract
问题描述
由于问题与Subversion 1.13 Brew公式有关,我正在安装该公式的旧版本:
Due to a problem with the Subversion 1.13 Brew formula I was installing an older revision of the formula:
brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/0c3d786402ad7d9dd5eb6907e3ed3f2525a0472d/Formula/subversion.rb
发出警告:
Warning: Calling Installation of subversion from a GitHub commit URL is deprecated! Use 'brew extract subversion' to stable tap on GitHub instead.
建议与此提示相同.
现在,我想使用 brew extract subversion
来正确地做到这一点,而不是使用不建议使用的提交URL.我想在某些计算机上安装Subversion 1.13_5,但是Subversion 1.14是最新的公式.
Now, I'd like to do this properly using brew extract subversion
rather than using the deprecated commit URL. I'd like to install Subversion 1.13_5 on some computers, but Subversion 1.14 is the latest formula.
我需要执行以下操作: brew extract --version 1.13.0_5 subversion< tap>
.
I need to do something like this: brew extract --version 1.13.0_5 subversion <tap>
.
我应该理解的方式:
- 为我的版本化公式创建一个空的存储库
- 将存储库添加为水龙头并对其进行初始化
- 提取版本化的公式
- 提交并推送公式?
我创建了一个空存储库,然后:
$ brew tap rjollos/homebrew-versioned
Cloning into '/usr/local/Homebrew/Library/Taps/rjollos/homebrew-versioned'...
warning: You appear to have cloned an empty repository.
Tapped (16 files, 22.2KB).
$ brew tap-new rjollos/homebrew-versioned
==> Created rjollos/versioned
/usr/local/Homebrew/Library/Taps/rjollos/homebrew-versioned
$ brew extract --version '1.13.0_5' subversion rjollos/homebrew-versioned
==> Searching repository history
Warning: Calling 'devel' blocks in formulae is deprecated! Use 'head' blocks or @-versioned formulae instead.
Please report this issue to the homebrew/core tap (not Homebrew/brew or Homebrew/core), or even better, submit a PR to fix it:
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/subversion.rb:16
Warning: Calling 'devel' blocks ... (repeats about a dozen times)
Error: subversion: undefined method `sha1' for #<SoftwareSpec:0x00007fceaf144490>
我认为我做错了几件事,但是主要是我不确定为什么 brew extract
不起作用.另外,是否有更好的方法来创建新的存储库并用模板文件填充新的存储库?
I think I'm doing several things wrong, but mainly I'm unsure why brew extract
doesn't work. Also, is there a better way to create a new repository and populate it with the template files for a new tap?
$ brew --version
Homebrew 2.4.4-19-ge09802b
Homebrew/homebrew-core (git revision 5ee797; last commit 2020-07-07)
Homebrew/homebrew-cask (git revision 837ac; last commit 2020-07-08)
推荐答案
仍不确定这是创建新水龙头的最佳方法.我在GitHub上创建了 homebrew-repo
,然后添加了水龙头,然后使用 tap-new
初始化了水龙头.
Still not sure this is the best way to create a new tap. I created homebrew-repo
on my GitHub, then added the tap, then initialized the tap using tap-new
.
$ TAP=rjollos/homebrew-repo
$ TAP_PATH=$(brew --repository)/Library/Taps/$TAP
$ brew tap $TAP
==> Tapping rjollos/repo
Cloning into '/usr/local/Homebrew/Library/Taps/rjollos/homebrew-repo'...
warning: You appear to have cloned an empty repository.
Tapped (16 files, 22.2KB).
$ brew tap-new $TAP
==> Created rjollos/repo
/usr/local/Homebrew/Library/Taps/rjollos/homebrew-repo
$ cd $TAP_PATH
$ git add .
$ git commit -m "Initialized with template files"
[master (root-commit) c7c4bed] Initialized with template files
2 files changed, 29 insertions(+)
create mode 100644 .github/workflows/main.yml
create mode 100644 README.md
$ git remote -v
origin https://github.com/rjollos/homebrew-repo (fetch)
origin https://github.com/rjollos/homebrew-repo (push)
提取版本化的公式:
$ brew extract --version 1.13.0 subversion $TAP
==> Searching repository history
==> Writing formula for subversion from revision dab5452 to:
/usr/local/Homebrew/Library/Taps/rjollos/homebrew-repo/Formula/subversion@1.13.0.rb
添加公式:
$ cd $TAP_PATH
$ git add Formula
$ git commit -m "Add Subversion 1.13 formula"
1 file changed, 203 insertions(+)
create mode 100644 Formula/subversion@1.13.0.rb
$ git push
Enumerating objects: 10, done.
Counting objects: 100% (10/10), done.
Delta compression using up to 8 threads
Compressing objects: 100% (7/7), done.
Writing objects: 100% (10/10), 3.99 KiB | 2.00 MiB/s, done.
Total 10 (delta 0), reused 0 (delta 0), pack-reused 0
To https://github.com/rjollos/homebrew-repo
* [new branch] master -> master
这篇关于使用Brew Extract安装公式的早期版本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!