使用Brew Extract安装公式的早期版本 [英] Installing previous versions of a formula with brew extract

查看:484
本文介绍了使用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>.

我应该理解的方式:

  1. 为我的版本化公式创建一个空的存储库
  2. 将存储库添加为水龙头并对其进行初始化
  3. 提取版本化的公式
  4. 提交并推送公式?

我创建了一个空存储库,然后:

$ 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆