Homebrewは数式の特定のバージョンをインストールしますか?


2197

自作の数式の特定のバージョンをインストールするにはどうすればよいですか?たとえば、最新の9.0ではなくpostgresql-8.4.4です。


2
postgresqlある時点でHomebrewに個別のバージョンがあったため、奇妙なものbashです。同じ数式名で4.xから5.xに変更されたため、stackoverflow.com/a/55764594/3794873を
dragon788


2
私はすべての答えを読みました。それ2020年であり、それを行う簡単な方法や公式の命令はありません
ラッキーマン

回答:


2556

TLDR: brew install postgresql@8.4.4詳細については、以下の回答を参照してください。


*(私の回答を再編集して、homebrewで古いソフトウェアバージョンをインストール/使用するためのより完全なワークフローを提供します。古いバージョンの方が良かった場合は、遠慮なくメモを追加してください。

最も単純なケースから始めましょう:

1)バージョンが既にインストールされている(ただし、アクティブ化されていない)かどうかを確認します。

homebrewが新しい数式をインストールするとき、それはのようなバージョン化されたディレクトリにそれを置き/usr/local/Cellar/postgresql/9.3.1ます。このフォルダーへのシンボリックリンクのみがグローバルにインストールされます。原則として、これにより、インストールされている2つのバージョンを簡単に切り替えることができます。(*)

Homebrewを長期間使用していて、古いバージョンを削除していない場合(たとえばを使用brew cleanup)、プログラムの古いバージョンがまだ残っている可能性があります。以前のバージョンを単にアクティブ化する場合brew switchは、これが最も簡単な方法です。

古いバージョンがインストールされているかどうかをbrew info postgresql(またはbrew switch postgresql <TAB>)確認します。

$ brew info postgresql
postgresql: stable 9.3.2 (bottled)
http://www.postgresql.org/
Conflicts with: postgres-xc
/usr/local/Cellar/postgresql/9.1.5 (2755 files, 37M)
  Built from source
/usr/local/Cellar/postgresql/9.3.2 (2924 files, 39M) *
  Poured from bottle
From: https://github.com/Homebrew/homebrew/commits/master/Library/Formula/postgresql.rb
# … and some more

古いバージョンがすでにインストールされていることがわかります。以下を使用してアクティブ化できbrew switchます。

$ brew switch postgresql 9.1.5
Cleaning /usr/local/Cellar/postgresql/9.1.5
Cleaning /usr/local/Cellar/postgresql/9.3.2
384 links created for /usr/local/Cellar/postgresql/9.1.5

何がアクティブになっているかを再確認しましょう:

$ brew info postgresql
postgresql: stable 9.3.2 (bottled)
http://www.postgresql.org/
Conflicts with: postgres-xc
/usr/local/Cellar/postgresql/9.1.5 (2755 files, 37M) *
  Built from source
/usr/local/Cellar/postgresql/9.3.2 (2924 files, 39M)
  Poured from bottle
From: https://github.com/Homebrew/homebrew/commits/master/Library/Formula/postgresql.rb
# … and some more

スター*が新しくアクティブになったバージョンに移動したことに注意してください

(*)古いバージョンのすべての依存関係がまだ存在しているbrew switch場合にのみ機能することに注意してください。場合によっては、古いバージョンの再構築が必要になることがあります。したがって、brew switch2つのバージョンをあまり離れすぎないように切り替えたい場合に使用すると、ほとんどの場合に役立ちます。

2)バージョンがタップとして利用可能かどうかを確認します

特に大規模なソフトウェアプロジェクトの場合、特定のソフトウェアのいくつかの(APIと互換性がない可能性がある)メジャーバージョンに対する十分な需要がある可能性が非常に高いです。2012年3月の時点で、自作0.9は、このためのメカニズムを提供します:brew tap自作のバージョンのリポジトリ。

そのバージョンのリポジトリには、いくつかの式の古いバージョンのバックポートが含まれている場合があります。(主に大きくて有名なものだけですが、もちろんそれらにはpostgresqlの公式もいくつかあります。)

brew search postgresql どこを見ればわかるでしょう:

$ brew search postgresql
postgresql
homebrew/versions/postgresql8    homebrew/versions/postgresql91
homebrew/versions/postgresql9    homebrew/versions/postgresql92

入力するだけでインストールできます

$ brew install homebrew/versions/postgresql8
Cloning into '/usr/local/Library/Taps/homebrew-versions'...
remote: Counting objects: 1563, done.
remote: Compressing objects: 100% (943/943), done.
remote: Total 1563 (delta 864), reused 1272 (delta 620)
Receiving objects: 100% (1563/1563), 422.83 KiB | 339.00 KiB/s, done.
Resolving deltas: 100% (864/864), done.
Checking connectivity... done.
Tapped 125 formula
==> Downloading http://ftp.postgresql.org/pub/source/v8.4.19/postgresql-8.4.19.tar.bz2
# …

これがタップを自動的にタップしたことに注意してくださいhomebrew/versions。(で確認しbrew tap、で削除しbrew untap homebrew/versionsます。)以下は同等です。

$ brew tap homebrew/versions
$ brew install postgresql8

バックポートされたバージョンの公式が最新である限り、このアプローチはおそらく古いソフトウェアを処理するための最良の方法です。

3)過去の式を試してください

以下のアプローチは、完全を期すために主にリストされています。どちらも醸造リポジトリからいくつかのアンデッドフォーミュラを復活させようとします。依存関係の変更、数式仕様のAPIの変更、または単にダウンロードURLの変更により、動作する場合と動作しない場合があります。

式ディレクトリ全体がgitリポジトリであるため、プレーンなgitコマンドを使用して特定のバージョンをインストールできます。ただし、古いバージョンが利用可能であったコミットを取得する方法を見つける必要があります。

a)歴史的な時代

20118月から2014年10月までの間に、homebrewは、brew versions利用可能なすべてのバージョンをそれぞれのSHAハッシュで生成するコマンドを持っていました。2014年10月の時点で、brew tap homebrew/boneyard使用する前にaを実行する必要があります。タップの名前が示すように、これは最後の手段としてのみ実行する必要があります。

例えば

$ brew versions postgresql
Warning: brew-versions is unsupported and may be removed soon.
Please use the homebrew-versions tap instead:
  https://github.com/Homebrew/homebrew-versions
9.3.2    git checkout 3c86d2b Library/Formula/postgresql.rb
9.3.1    git checkout a267a3e Library/Formula/postgresql.rb
9.3.0    git checkout ae59e09 Library/Formula/postgresql.rb
9.2.4    git checkout e3ac215 Library/Formula/postgresql.rb
9.2.3    git checkout c80b37c Library/Formula/postgresql.rb
9.2.2    git checkout 9076baa Library/Formula/postgresql.rb
9.2.1    git checkout 5825f62 Library/Formula/postgresql.rb
9.2.0    git checkout 2f6cbc6 Library/Formula/postgresql.rb
9.1.5    git checkout 6b8d25f Library/Formula/postgresql.rb
9.1.4    git checkout c40c7bf Library/Formula/postgresql.rb
9.1.3    git checkout 05c7954 Library/Formula/postgresql.rb
9.1.2    git checkout dfcc838 Library/Formula/postgresql.rb
9.1.1    git checkout 4ef8fb0 Library/Formula/postgresql.rb
9.0.4    git checkout 2accac4 Library/Formula/postgresql.rb
9.0.3    git checkout b782d9d Library/Formula/postgresql.rb

ご覧のとおり、使用しないことをお勧めします。Homebrewは、内部ヒューリスティックを使用して検索できるすべてのバージョンを出力し、古い数式を取得する方法を示します。試してみよう。

# First, go to the homebrew base directory
$ cd $( brew --prefix )
# Checkout some old formula
$ git checkout 6b8d25f Library/Formula/postgresql.rb
$ brew install postgresql
# … installing

古いバージョンのpostgresqlがインストールされたので、リポジトリをクリーンに保つために最新の式を再インストールできます。

$ git checkout -- Library/Formula/postgresql.rb

brew switch 古いものと新しいものを変えるあなたの友達です。

b)先史時代

特別なニーズがある場合は、自作のレポを通して自分で掘り起こすこともできます。

$ cd Library/Taps/homebrew/homebrew-core && git log -S'8.4.4' -- Formula/postgresql.rb

git log -S文字列'8.4.4'がファイルに追加または削除されたすべてのコミットを探しますLibrary/Taps/homebrew/homebrew-core/Formula/postgresql.rb。結果として2つのコミットが取得されます。

commit 7dc7ccef9e1ab7d2fc351d7935c96a0e0b031552
Author: Aku Kotkavuo
Date:   Sun Sep 19 18:03:41 2010 +0300

    Update PostgreSQL to 9.0.0.

    Signed-off-by: Adam Vandenberg

commit fa992c6a82eebdc4cc36a0c0d2837f4c02f3f422
Author: David Höppner
Date:   Sun May 16 12:35:18 2010 +0200

    postgresql: update version to 8.4.4

明らかに、fa992c6a82eebdc4cc36a0c0d2837f4c02f3f422私たちが関心を持っているコミットです。このコミットはかなり古いので、完全な自作インストールをダウングレードしようとします(そのようにして、式APIが有効であることがほぼ保証されます)。

$ git checkout -b postgresql-8.4.4 fa992c6a82eebdc4cc36a0c0d2837f4c02f3f422
$ brew install postgresql
$ git checkout master
$ git branch -d postgresql-8.4.4

最後のコマンドをスキップして、gitリポジトリに参照を保持できます。

1つの注意:古いコミットをチェックアウトするとき、自作のインストールを一時的にダウングレードします。したがって、homebrewの一部のコマンドは最新バージョンと異なる場合があるため、注意が必要です。

4)手動で数式を書く

それほど難しくないので、独自のリポジトリにアップロードできます。するために使用自作・バージョンが、それは現在廃止されています。

A.)ボーナス:ピン留め

例えばpostgresqlなどの特定のバージョンを保持し、自然なbrew update; brew upgrade手順を実行するときに更新されないようにしたい場合は、式を固定できます

$ brew pin postgresql

固定された数式がに一覧表示され/usr/local/Library/PinnedKegs/、最新の変更と更新を取り込んだら、再度固定を解除できます。

$ brew unpin postgresql

18
を使用して式をチェックアウトすることもできgit checkout fa992 -- Library/Formula/postgresql.rbます。完了したら、を使用して式への変更を元に戻すことができますgit revert HEAD Library/Formula/postgresql.rb && git checkout -- Library/Formula/postgresql.rb
mipadi、2011年

18
注:Homebrewの新規インストールではbrew update、Gitリポジトリを確立する必要がある場合があります。
Bluu

557
これは途方もなく困難です。
Dogweather、

30
今日の時点で、リポジトリに対して手動でコマンドを実行するための正しいディレクトリがありcd $(brew --repository)/Library/Taps/homebrew/homebrew-core、その後、あなたは使用することができるgit checkout 4cce79d -- Formula/go.rbHOMEBREW_NO_AUTO_UPDATE=1 brew install go
Calin

12
homebrew / versionsは非推奨です
Ezekiel Victor

775

シンプルなワークフロー

現在、Homebrew / versionsは非推奨になっているため、Homebrew / coreは、新しい命名形式で数式の複数のバージョンをサポートしています。

特定のバージョン、たとえばpostgresql 9.5をインストールするには、次のコマンドを実行するだけです。

$ brew install postgresql@9.5

利用可能なバージョンを一覧表示するには、@で検索を実行します。

$ brew search postgresql@
==> Searching local taps...
postgresql@10.1 ✔     postgresql@9.4        postgresql@9.5        postgresql@9.6

8
最も単純なようですが、コピーして貼り付けると、になりfatal: Not a git repository (or any of the parent directories): .gitます。私はcd代わりに(FORMULANAME.rbなし)ディレクトリに、そしてやるgit checkout 120938
ラモンTayag

8
@RamonTayag、私は同じ問題を抱えていました。cd /usr/local最初に必ずしてください。
gjb

13
:私はあなたがステップ3.5必要が見つかりましたbrew unlink FORMULANAME
Intentss

37
brew versions <formula>はサポートされなくなりました。
ejoubaud 2014年

4
@ dem7w2では、でシンボリックリンクを作成できますbrew link --force postgresql@9.5。新しいバージョンが既にインストールされていて、古いバージョンをデフォルトにしたい場合は--overwrite、そこにもが必要です。
ライアン

457

以前にインストールした式の古いバージョンをインストールする方法が、はるかに簡単になりました。単に使う

brew switch [formula] [version]

たとえば、Node.js 0.4.12と0.6.5を定期的に切り替えます。

brew switch node 0.4.12
brew switch node 0.6.5

brew switchシンボリックリンクを変更するだけなので、非常に高速です。Homebrew Wikiの詳細については、External Commandsを参照してください。


2
これを試してみたところ、「/usr/local/Cellar/node/0.4.7に33個のリンクが作成されました」というメッセージが表示されましたが、後でnodeを実行すると、「-bash:/ usr / local / bin / node:そのようなファイルまたはディレクトリはありません "。何がうまくいかなかったのでしょうか?注:0.4.7を手動でダウンロードしてセラーディレクトリに配置しました。これは、brewを使用して最新のノードバージョンをダウンロードする方法がわからないためです。
Soroush Hakami

6
「nvm」[ github.com/creationix/nvm]と呼ばれるものがあることをご存知でしょうか。
Gaurav Agarwal 2013年

40
既にインストールされているパッケージのバージョンに依存しています。バージョンがない場合でも、選択した回答を適用する必要があります。
ニックストロング

1
特にノードバージョンのmgmtでは、nvmがより優れたソリューションです。
cweekly

5
@NicStrong確かに、brew switchすでにインストールされている人気のあるバージョンに依存しています。しかし残念ながら、現在受け入れられている答えは信じられないほど役に立たず、複雑で、時代遅れです。あり ます 優れている、それ以下の答えずっともっと便利に。
GDP2

250

更新:2015年1月15日

  • 目的のソフトウェアとバージョンのコミット履歴を見つけます。たとえば、Dockerバージョン1.4.1から1.3.3に切り替える必要があります。https//github.com/Homebrew/homebrew-core/commits/master/Formula/docker.rb
  • このボタンでファイルを表示します。 ここに画像の説明を入力してください
  • Rawボタンをクリックします。 リストアイテム
  • アドレスバーからURL(この例ではdocker.rb url)をコピーします
  • brew install <url>brew unlink例えば、最初に必要になるかもしれませんbrew unlink docker
  • brew switch docker 1.3.3
  • docker 1.4.1に切り替えます brew switch docker 1.4.1

この要旨から

brew update
brew versions FORMULA
cd `brew --prefix`
git checkout HASH Library/Formula/FORMULA.rb  # use output of "brew versions"
brew install FORMULA
brew switch FORMULA VERSION
git checkout -- Library/Formula/FORMULA.rb    # reset formula

## Example: Using Subversion 1.6.17
#
# $ brew versions subversion
# 1.7.3    git checkout f8bf2f3 /usr/local/Library/Formula/subversion.rb
# 1.7.2    git checkout d89bf83 /usr/local/Library/Formula/subversion.rb
# 1.6.17   git checkout 6e2d550 /usr/local/Library/Formula/subversion.rb
# 1.6.16   git checkout 83ed494 /usr/local/Library/Formula/subversion.rb
# 1.6.15   git checkout 809a18a /usr/local/Library/Formula/subversion.rb
# 1.6.13   git checkout 7871a99 /usr/local/Library/Formula/subversion.rb
# 1.6.12   git checkout c99b3ac /usr/local/Library/Formula/subversion.rb
# 1.6.6    git checkout 8774131 /usr/local/Library/Formula/subversion.rb
# 1.6.5    git checkout a82e823 /usr/local/Library/Formula/subversion.rb
# 1.6.3    git checkout 6b6d369 /usr/local/Library/Formula/subversion.rb
# $ cd `brew --prefix`
# $ git checkout 6e2d550 /usr/local/Library/Formula/subversion.rb
# $ brew install subversion
# $ brew switch subversion 1.6.17
# $ git checkout -- Library/Formula/subversion.rb

46
これは私のために働いた唯一のものです。パッケージマネージャーが以前のバージョンをインストールするためだけに多くの混乱を必要とするのはかなりばかげています。おそらく私はruby RVMとbundlerに甘やかされていますが、このプロセスは本当に合理化されて抽象化される必要があります。
poetmountain 2013年

3
以前のバージョンのAnsibleに移動しようとしたとき、示されているように以前のバージョンをインストールする前に式をリンク解除する必要がありました。したがって、行う前にbrew install <url>brew unlink <formulaname>。それ以外の場合、これは数式の特定のバージョンに切り替える最も簡単で最も簡潔な方法です(これまでのところ)。
bigsweater 2015年

Rawどのファイルのボタンを押したのですか?
Iulian Onofrei 2016年

1
動作しますが、HomebrewがSHAの不一致について文句を言わないように、未加工の.rbファイルをダウンロードしてチェックサムを変更する必要がある場合があります。GitHubでは、2017年のいつか大部分のレポツリーが再アーカイブされているようで、チェックサムが変更されています。(実際に、Bazelが昨年7月にハッシュの不一致に失敗し始めたとき、それは私のチームに大きな混乱を引き起こしました)
Chang Qian

6
私は簡単に住所を見つけましたbrew log <formula>
康久

128

@halfcubeの提案に沿って、これは本当にうまくいきます:

  1. https://github.com/Homebrew/homebrew-core/tree/master/Formulaで探しているライブラリを見つけます。
  2. それをクリック:https : //github.com/Homebrew/homebrew-core/blob/master/Formula/postgresql.rb
  3. 「履歴」ボタンをクリックして、古いコミットを確認します。https//github.com/Homebrew/homebrew-core/commits/master/Formula/postgresql.rb
  4. 必要なものをクリックします。「postgresql:update version to 8.4.4」、https://github.com/Homebrew/homebrew-core/blob/8cf29889111b44fd797c01db3cf406b0b14e858c/Formula/postgresql.rb
  5. 「raw」リンクをクリックします。https//raw.githubusercontent.com/Homebrew/homebrew-core/8cf29889111b44fd797c01db3cf406b0b14e858c/Formula/postgresql.rb
  6. brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/8cf29889111b44fd797c01db3cf406b0b14e858c/Formula/postgresql.rb

8
それは、コアレポで利用できないのです場合、これはパッケージの必要なバージョンをインストールする最も簡単な方法ですpackage@version
Avyでは

7
Webインターフェースを使用できない場合は、リポジトリを複製してローカルで実行できます。git log master -- Formula/PACKAGENAME.rbコミット履歴を取得し、正しいコミットをチェックアウトしてから、実行brew install Formula/PACKAGENAME.rbしてインストールします。
チップバスター2017年

7
他のバージョンのbrew unlinkbrew installに必要だと思います。
studgeek 2017年

これは誰mxclですか?
PJSCopeland

1
私はこれを行いbrew install https://github.com/Homebrew/homebrew-core/raw/afc10f17af8023906b87363a8340aeb62284329f/Formula/postgresql%409.6.rbますが、おそらく@サインが原因でエラーが発生します:Error: No available formula with the name "postgresql%409.6" In formula file: /Users/maciek/Library/Caches/Homebrew/Formula/postgresql%409.6.rb Expected to find class Postgresql%4096, but only found: PostgresqlAT96.アイデアはありますか?
msciwoj 2018

109

他の複雑なソリューションよりも優れた代替ソリューションを発見しました。

brew install https://raw.github.com/Homebrew/homebrew-versions/master/postgresql8.rb

これにより、PostgreSQL 8.4.8がダウンロードおよびインストールされます。


私はこの解決策を見つけました。リポジトリとリポジトリ内のコメントを検索する手順を実行し始めました。

少し調査したところ、誰かが一緒に育てるための珍しい処方者のコレクションを持っていることがわかりました。


MySQL 5.1.xをお探しの場合は、ぜひお試しください。

brew install https://raw.github.com/Homebrew/homebrew-versions/master/mysql51.rb

1
うーん、brew install https://github.com/Homebrew/homebrew-versions/blob/master/node06.rb構文エラーで失敗したようです。
ブライアンアームストロング

6
@BrianArmstrong 生のバージョンが必要なときに、HTML形式のファイルのバージョンを参照しています。
Nikita Volkov 2013年

移動github.com/Homebrew/homebrew/commits/master/Library/Formula/...、生、バージョン、ブラウズコードを選ぶ-このURLを使用します。
jpillora 2014年

1
rawURLを忘れないでください
Faber

9
homebrew-versionsはなくなり、すべてがオンにcoreなっているため、一般的なケースは次のとおりbrew install https://raw.github.com/Homebrew/homebrew-core/<COMMIT>/Formula/<FORMULA>.rbです。github.com/Homebrew/homebrew-core/commits/master/Formula/…にアクセスCOMMITすると見つかります。
PJSCopeland

78

式を特定する戦略と、インストールするパッケージのバージョンと一致する式の履歴内の特定のコミットを使用できます。

  1. https://github.com/Homebrew/homebrew-coreにアクセスます

  2. tキーボードのを押して、ファイルファインダーをアクティブにします。

  3. おそらく最も関連性があると思われる式を特定しますFormula/mysql.rbフォーラムラファイルの場所に移動します:https : //github.com/Homebrew/homebrew-core/blob/master/Formula/mysql.rb

  4. https://github.com/Homebrew/homebrew-core/commits/master/Formula/mysql.rbにHistoryあるボタンをクリックして、変更履歴を確認します。MySQL 5.7.10に興味がある場合は、5.7.11より前の最新のリビジョンをクリックして、GitHubコミットに移動します。

    https://github.com/Homebrew/homebrew-core/commit/c77882756a832ac1d87e7396c114158e5619016c#Formula/mysql.rb

注:コミット履歴がブラウザーに読み込まれない場合は、GitHubの提案に従ってコンソールでコミット履歴を表示する必要がある場合があります。GitHubでコミットを確認したい場合は、URLの上記のコミットSHAを置き換えてください。または、以下の手順7に進みます。

  1. [表示]ボタンをクリックして、コミットが適用された後のmysql.rbファイルのソースを表示します。

  2. 次に、「Raw」ボタンをクリックして、未加工のソースを表示します。

  3. URLをコピーします。または、mysql.rbファイル名を使用して自分でURLを作成し、式とその式の特定のバージョン(以下のURLのCommit SHAで識別される)を識別します。

    https://raw.githubusercontent.com/Homebrew/homebrew-core/c77882756a832ac1d87e7396c114158e5619016c/Formula/mysql.rb

  4. でインストール $ brew install [URL from step 7]

    $ brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/c77882756a832ac1d87e7396c114158e5619016c/Formula/mysql.rb
    

注:この回答は、braumeister.org Webサイトの削除に対応するために更新されました。同じ原理が当てはまり、ブラウミスターは単にフォーミュラバージョンをナビゲートする初心者にやさしい方法を提供しただけでした。


13
残念ながら、これは回答のリストではかなり遠いですが、最善の解決策です。これは私が使用するものですが、braumeisterを使用する代わりに、必要な式のHomebrew GitHubページに移動します(たとえば、gccの場合はgithub.com/Homebrew/homebrew/blob/master/Library/Formula/gcc.rbに移動します))次に、目的のバージョンに到達するまでファイルの「履歴」を調べます。
Guy Kogus 2016年

3
これは間違いなく私の場合の最良の解決策でした-Xcode 8.1を必要としない古いバージョンのWatchmanをインストールする
Zachary Keener

3
これは、古いバージョンをインストールする最も簡単な方法です。良い答え
マーティン

4
これは私にとってはうまくいきましたが、最初にソフトウェアのリンクを解除する必要がありました。
Brett Wagner

3
これは私にとって最も簡単な解決策でした。受け入れられた回答が古くなっているため、これはさらに高くなるはずです。
Tim W

35

他の答えのほとんどは今では時代遅れです。そのバージョンが別々の式として存在しない限り、残念ながら自作はまだ、古いバージョンをインストールする組み込みの方法はありません(例えばpython@2postgresql@9.4 ...)。

幸いなことに、他の式では、以前は必要であった複雑な混乱よりもはるかに簡単な方法があります。詳細な手順は次のとおりです。

  1. ログで正しいバージョンを検索します。

    brew log formula
    # Scroll down/up with j/k or the arrow keys
    # or use eg. /4\.4\.23 to search a specific version
    
    # This syntax only works on pre-2.0 Homebrew versions
    brew log --format=format:%H\ %s -F --grep=‹version› ‹formula›
    

    これにより、コミットハッシュのリストが表示されます。適切なものを選択してください(ほとんどの場合、それはかなり明白であり、通常は最新(つまり上位)のものです。

  2. 上流のリポジトリで式が存在するURLを見つけます。

    brew info ‹formula› | grep ^From:
    
  3. URLを修正します。

    1. 交換するgithub.comraw.githubusercontent.com
    2. blob/master最初のステップで見つけたcommitハッシュに置き換えます。
  4. master以前に見つかったURLをコミットハッシュで置き換えることにより、目的のバージョンをインストールします。例:

    brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/‹hash›/Formula/‹formula›.rb
    

(最後のステップはbrew unlink ‹formula›前に実行する必要があるかもしれません。)


使用するコミットハッシュをコピーした場合は、この例のようなものを使用してそのバージョンをインストールし、値をbashコミットハッシュと目的の式で置き換えます。

BREW_VERSION_SHA=32353d2286f850fd965e0a48bcf692b83a6e9a41
BREW_FORMULA_NAME=bash
brew info $BREW_FORMULA_NAME \
| sed -n \
    -e '/^From: /s///' \
    -e 's/github.com/raw.githubusercontent.com/' \
    -e 's%blob/%%' \
    -e "s/master/$BREW_VERSION_SHA/p" \
| xargs brew install

この例では、bash 5の代わりにbash 4.4.23をインストールしていますが、brew upgrade後で実行しbrew pin bashた場合、最初に実行しない限り、bash 5が最初からインストールされます。代わりに、ピン止めなしでこれをよりスムーズにするために、最初にを使用して最新のものをインストールしbrew install bash、次にbrew unlink bash上記のスクリプトに従って必要な古いバージョンをインストールしてから、を使用brew switch bash 4.4.23して古いバージョンへのシンボリックリンクを設定する必要があります。これで、brew upgradeBashのバージョンに影響はありません。あなたは可能brew switch bashに切り替えるために利用可能なバージョンのリストを取得します。


ローカルのみのカスタムタップを使用した代替

同じ目標を達成する別の方法は次のようです。

brew tap-new username/repo-name
# extract with a version seems to run a grep under the hood
brew extract --version='4.4.23' bash username/repo-name
brew install bash@4.4.23
# Note this "fails" when trying to grab a bottle for the package and seems to have
# some odd doubling of the version in that output, but this isn't fatal.

これによりformula@version、上記の例に従ってインストールできるカスタムタップが作成されます。欠点は、特定のバージョンのBashまたは他の数式を使用するためにbrew unlink bash、おそらくまだ必要があるということですbrew link bash@4.4.23


1
彼らはどうやら構文を変更したbrew logので、追加-F--grepオプションは私にとって失敗していました。
dragon788

1
@ dragon788流血地獄、Homebrew 2は完全に壊れましたbrew log。gitログメッセージを適切に解析するかgit log、対応するリポジトリで直接実行する必要があるため、今は新しいバージョンを作成する必要はありません。そして、変更ログはこの重大な変更についてさえ言及していないようです。迷惑を超えて。
Konrad Rudolph

彼らが行動の変化がバグであることを受け入れない限り、そのタイプのフィルタリングを取り戻すためにExternal Commandの構造内で動作することが必要と思われるかもしれません。docs.brew.sh/External-Commandsbrewgit log
dragon788

これが正しいbrew extract使い方を見つけることができた唯一の場所でした、ありがとう!
dognotdog

カスタムのlocal0onlyで回答の最初の部分をタップすることをお勧めします。全体としては本当に最高のソリューションのようです。
studgeek

29

単純にbrew install mavenインストールされたMaven 3.0.3 以降、Homebrewを使用してMaven 2.2.1に戻りました。

まず、そこにmaven dirを残す必要があります

$ brew unven maven

抽出タップコマンドを使用する

$ brew tap自作/バージョン
'/ usr / local / Library / Taps / homebrew-versions'に複製しています...
リモート:オブジェクトのカウント:590、完了。
リモート:オブジェクトの圧縮:100%(265/265)、完了。
リモート:合計590(デルタ362)、再利用549(デルタ325)
オブジェクトの受信:100%(590/590)、117.49 KiB | 79 KiB /秒、完了。
デルタの解決:100%(362/362)、完了。
50式をタップ

これで、maven2式をインストールできます。

$ brew install maven2
==>ダウンロード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:6秒で構築された10ファイル、3.1M
$ mvn --version
Apache Maven 2.2.1(r801777; 2009-08-06 12:16:01-0700)
Javaバージョン:1.6.0_37
Javaホーム:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
デフォルトのロケール:en_US、プラットフォームのエンコード:MacRoman
OS名: "mac os x"バージョン: "10.7.4"アーチ: "x86_64"ファミリ: "mac" 

編集:brew switch maven 2.2.1別のバージョンに切り替える こともできます。

編集: Apache Mavenプロジェクトがリポジトリを再編成しました。この変更を説明するためにこの回答を更新しました。


これはとても役に立ちました。Apache FoundationはMavenバイナリをバージョン(1,2,3)固有のディレクトリに再編成したため、新しい構造に適合するように2.2.1やその他のMaven.rbを編集する必要があることに注意してください。たとえば、2.2.1のバイナリはapache.org/dist/maven/maven-2/2.2.1/binaries/…にあります。URLの「maven-2 / 2.2.1 /」に注意してください。
Charles Forcey 2013

@CharlesForcey再編成されているMaven distリポジトリについて正しい。古いmaven2式を使用するためにbrewタップを使用するように回答を更新します。コメントをありがとう。
Cameron Goodale 2013

21

@tschundeee@Debilskiの更新1で説明されているワークフローに基づいて、手順を自動化し、このスクリプトにクリーンアップを追加しました。

それをダウンロードして、あなたのパスに入れてくださいbrewv <formula_name> <wanted_version>。特定のOPの場合、次のようになります。

cd path/to/downloaded/script/
./brewv postgresql 8.4.4

:)


4
ただ素晴らしい。なぜこれは醸造ではないのですか?
エイドリアン

3
もう見つかりません:(
D-32

18

それ以降の更新された回答は、@ lance-pollardがすでに有効な回答として投稿したものに追加されます。

式の特定のバージョンをインストールする方法(この例で使用されている式はterraform):

  1. 数式ファイルを見つけます。例:https : //github.com/Homebrew/homebrew-core/blob/master/Formula/terraform.rb
  2. https://github.com/Homebrew/homebrew-core/commits/master/Formula/terraform.rbを使用して、またはgit log master -- Formula/terraform.rbリポジトリをローカルで複製した場合は、githubの履歴からコミットバージョンを取得します
  3. 数式のコミットバージョンを含む未加工のgit URLを取得します。github.comの数式リンクがhttps://github.com/Homebrew/homebrew-core/blob/e4ca4d2c41d4c1412994f9f1cb14993be5b2c59a/Formula/terraform.rbの場合、未加工のURLはbe:https : //raw.githubusercontent.com/Homebrew/homebrew-core/e4ca4d2c41d4c1412994f9f1cb14993be5b2c59a/Formula/terraform.rb
  4. それをインストールします: brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/e4ca4d2c41d4c1412994f9f1cb14993be5b2c59a/Formula/terraform.rb

ステップ3で未加工のgit URLを取得するには、「Raw」ボタンを押して、ブラウザーが移動するURLをコピーすることもできます。
ブライアントッピング

15

公式方法(https://github.com/Homebrew/brew/issues/6028への応答から判断)

残念ながら、Homebrewには、古いバージョンをインストールする明確な組み込み方法がまだありません。

幸いなことに、ほとんどの式では、これまで必要であった複雑な混乱よりもはるかに簡単な方法があります。bash例として使用する完全な手順は次のとおりです。

brew tap-new $USER/local-tap
# extract with a version seems to run a `git log --grep` under the hood
brew extract --version=4.4.23 bash $USER/local-tap
# Install your new version from the tap
brew install bash@4.4.23
# Note this "fails" trying to grab a bottle for the package and seems to have
# some odd doubling of the version in that output, but this isn't fatal.

これにより、formula@version上記の例に従ってインストールできるカスタムタップが作成されます。重要な注意事項は、brew unlink bash以前にデフォルト/最新バージョンの数式をインストールしていbrew link bash@4.4.23た場合、特定のバージョンのBash(または最新バージョンと古いバージョンがインストールされている他の数式)を使用するために、おそらく必要になるということです。

この方法の潜在的な欠点は、バージョン間で簡単に切り替えることができないことです。これは、この方法がbrew「異なる式」であるためです。

使用できるようにしたい場合brew switch $FORMULA $VERSIONは、次の方法を使用する必要があります。


スクリプトによる方法(推奨)

この例は、古いbash 4.4.23のインストールを示しbashています。この式は現在bash 5をインストールするため、便利な例です。

  • まず、最新バージョンの数式をインストールします brew install bash
  • その後 brew unlink bash
  • 次に、以下のスニペットに従って、必要な古いバージョンをインストールします
  • 最後brew switch bash 4.4.23に、バージョンへのシンボリックリンクを設定するために使用します

brew upgrade最初に最新のものをインストールせずに古いバージョンをインストールした後にを実行した場合、最初にを実行しない限り、最新のものは古いバージョンを上書きしてインストールされますbrew pin bash

忘れがちで、将来的に安全でなくなるバージョンに固定する可能性があるため、ここでの手順は固定を回避します(Shellshockなどを参照)。この設定brew upgradeでBashのバージョンに影響が及ぶことはありません。いつでも実行brew switch bashして、切り替え可能なバージョンのリストを取得できます。

export以下のコードスニペットの行をコピーして貼り付けて編集し、目的のバージョンと数式名で更新してから、残りをそのままコピーして貼り付けると、これらの変数を使用して魔法をかけます。

# This search syntax works with newer Homebrew
export BREW_FORMULA_SEARCH_VERSION=4.4.23 BREW_FORMULA_NAME=bash
# This will print any/all commits that match the version and formula name
git -C $(brew --repo homebrew/core) log \
--format=format:%H\ %s -F --all-match \
--grep=$BREW_FORMULA_SEARCH_VERSION --grep=$BREW_FORMULA_NAME

数式にバージョンが存在することが確実な場合は、以下を使用できます。

# Gets only the latest Git commit SHA for the script further down
export BREW_FORMULA_VERSION_SHA=$(git -C $(brew --repo homebrew/core) log \
 --format=format:%H\ %s -F --all-match \
--grep=$BREW_FORMULA_SEARCH_VERSION --grep=$BREW_FORMULA_NAME | \
head -1 | awk '{print $1}')

使用するコミットハッシュをエクスポートしたら、これを使用してそのバージョンのパッケージをインストールできます。

brew info $BREW_FORMULA_NAME \
| sed -n \
    -e '/^From: /s///' \
    -e 's/github.com/raw.githubusercontent.com/' \
    -e 's%blob/%%' \
    -e "s/master/$BREW_FORMULA_VERSION_SHA/p" \
| xargs brew install

式の出力の指示に従って、PATHに入れるか、デフォルトのシェルとして設定します。


12

Homebrewの最新バージョン(この記事の執筆時点では0.9.5)には、インストールするHomebrew kegのバージョンに固有のレシピがあります。例:

$ brew search mongodb
mongodb    mongodb24  mongodb26

次にbrew install mongodb26、通常のように行います。

すでに最新バージョンをインストールしている場合は、必ず最新バージョンのリンクを解除し、目的のバージョンをリンクしてくださいbrew unlink mongodb && brew link mongodb26


これで質問に答えることができますが、答えの本質的な部分をここに含め、参照用のリンクを提供することが望ましいでしょう
エリック

1
@Erikありがとう、修正されました。
Alex Sharp

11

問題homebrew/versionsは、誰かがあなたがそれを使用できるようにするには、特定のバージョンのソフトウェアがリポジトリにリストされている必要があるということです。また、brew versionsはサポートされなくなったため、別のソリューションが必要です。の使用を示すソリューションのbrew switch場合、これは、まだ実行していない場合にのみ機能しますbrew cleanup、バージョンがコンピューターに存在する必要がため、します。

docker-machineリストされていない特定の古いバージョンをインストールしたいという問題がありましたhomebrew/versions。以下を使用してこれを解決しました。これは、任意の抽出インストールされたソフトウェアでも機能するはずです。以下の例はdocker-machine、バージョン0.5.0から0.4.1にダウングレードするパッケージとして使用します。

  1. 自作Formulaディレクトリに移動します。
    これは、を実行して確認できbrew info [any package name]ます。たとえばbrew info docker-machine、パス-を示す行を表示します/usr/local/Cellar/docker-machine/0.5.0。これは、私のマシンではhomebrewがにインストールされて/usr/localおり、私のFormula ディレクトリはデフォルトで次の場所にあることを示しています/usr/local/Library/Formula

  2. パッケージの特定の式ファイル(.rb)を見つけます。 ダウングレードしたいのでdocker-machinedocker-machine.rbファイルを見ることができます。

  3. この数式ファイルのバージョン履歴を取得します。と入力しgit log docker-machine.rbます。これにより、このファイルの完全なコミット履歴が一覧表示されます。次のような出力が表示されます。

    ...もっと 

    コミット20c7abc13d2edd67c8c1d30c407bd5e31229cacc
    著者:BrewTestBot 
    日付:2015年11月5日16:14:18 +0000

        docker-machine:0.5.0ボトルを更新。

    コミット8f615708184884e501bf5c16482c95eff6aea637
    作成者:Vincent Lesierse 
    日付:2015年10月27日火曜日22:25:30 +0100

        ドッカーマシン0.5.0

        docker-machineを0.5.0に更新しました

        #45403を閉じます。

        サインオフ:Dominyk Tiller 

    コミット5970e1af9b13dcbeffd281ae57c9ab90316ba423
    著者:BrewTestBot 
    日付:2015年9月21日14:04:04 2015 +0100

        docker-machine:0.4.1ボトルを更新。

    コミット18fcbd36d22fa0c19406d699308fafb44e4c8dcd
    著者:BrewTestBot 
    日付:2015年8月16日09:05:56 +0100

        docker-machine:0.4.1ボトルを更新。

    ...もっと

トリッキーな部分は、必要な特定のバージョンの最新のコミットを見つけることです。上記では、最新の0.4.1バージョンがこのコミットタグでコミットされたことがわかりますcommit 5970e1af9b13dcbeffd281ae57c9ab90316ba423。この時点より上のコミットは、バージョン0.5.0を使用して開始されます(gitログエントリは、最新のものから最も古いものまでリストされています)。

  1. 以前のバージョンの式ファイルを取得します。 手順3のcommitタグ(最初の6文字を使用できます)を使用すると、以下を使用して古いバージョンの数式ファイルを取得できます。

    git checkout 5970e1 docker-machine.rb

  2. 現在のパッケージバージョンをアンインストールします。 通常のbrewコマンドを実行して、パッケージの現在のバージョンをアンインストールします。
    brew uninstall docker-machine

  3. 古いパッケージバージョンをインストールします 。これで、通常のbrew installコマンドを実行するだけで、チェックアウトした数式がインストールされます。例brew install docker-machine

brew link docker-machine必要に応じて、を使用して再リンクする必要がある場合があります。

特定のパッケージの最新バージョンに戻す必要がある場合は、いつでもFormulaディレクトリに移動し、式ファイル(.rb)に対して次のコマンドを発行します。

git reset HEAD docker-machine.rb
git checkout -- docker-machine.rb

そして、次のことが可能brew uninstall docker-machinebrew install docker-machine最新バージョンを取得し、その方法は、今後それを維持します。


1
@rchawdryを非常に徹底的に書いてください、ありがとう。ところで、必要なバージョンに一致するコミットを見つけるには、すぐに--grepパラメータを追加しますgit log --grep 0.4.1 docker-machine.rb
Jerry Mindek、2015年

私にとって、道は/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula
akauppi

cairoこの方法では、醸造者のバージョン履歴を十分に見つけることができませんでした。@sealocalの答えは、何らかの理由でより多くを示しました。
akauppi

11

それは2020年であり、ほとんどの回答は古くなっています

私の状況:postgresql11から12に誤ってアップグレードされました。残しておきたい11。

  1. DBを停止します。
brew services stop postgresql
  1. Postgres 11をインストールします。
brew install postgresql@11
  1. それを有効にします。
brew link postgresql@11 --force
  1. (オプション)DBデータディレクトリの名前をからに変更postgrespostgres@11ます。
cd /usr/local/var
ls -lh
mv postgresql@11 postgresql@11-fresh-backup
mv postgres postgresql@11
  1. DBを起動します。
brew services start postgresql@11

エラーがある場合は、チェックしてください/usr/local/var/log/postgresql@11.log(@ 11に注意してください)。


6
これは、(特別なコマンドで実行される)データストアの移行を支援するためにHomebrewメンテナによって明示的に保持されているpostgresql @ 11の特別な場合にのみ機能しますbrew postgresql-upgrade-database。この答えは、他のほとんどの式では役に立ちません。
アダムWróbel

@AdamWróbelPostgres についての元の質問に答えるはこれで結構です。brew postgresql-upgrade-databaseまあ、アップグレード用です。私の答えは、古いバージョン Postgres を使用することです。バイナリを切り替えるだけでは機能しません。
Max Malysh

バージョンマネージャーを使用していないNodeJSユーザー(例:nvm古いLTSリリースでこの手法を使用して幸運を祈っています)。書き込みV10&V12の時には少なくとも、例えば利用可能であるべきbrew install node@12 formulae.brew.sh/formula/node

9

古いbrewパッケージバージョンをインストールします(Flyway 4.2.0の例)

ローカルのHomebrew git dirを見つけるか、Homebrew / homebrew-coreをローカルに複製します

cd /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/

または

git clone git@github.com:Homebrew/homebrew-core.git

利用可能なすべてのバージョンを一覧表示する

git log master -- Formula/flyway.rb

必要なバージョンのコミットIDをコピーして直接インストールします

brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/793abfa325531415184e1549836c982b39e89299/Formula/flyway.rb


なぜ単にディレクトリbrew install Formula/flyway.rbから実行しないのhomebrew-coreですか?raw.github..住所を使わなくても
うまくいった

9

私はここでほとんどの解決策を試しましたが、それらは古くなっています。ここからのアイデアを自分の作品と組み合わせる必要がありました。その結果、私はここで見つけることができる重い作業を行うのに役立つスクリプトを作成しました

使用法:

brewv.sh formula_name desired_version

6

brewの最後のバージョンでは非常に簡単に実行できました。

brew tap homebrew/versions
brew install subversion17 # for svn 1.7 branch instead of last available
brew install postgresql8  # for postgresql 8 (which you ask)

2
...誰かがそのパッケージのバージョン化されたレシピを作成することを迷った場合。
2014

6

これらのどれも実際には私のケース(Python)では機能しなかったので、2セント追加します。

cd `brew --prefix`
git log Library/Formula/python.rb

出力は次のようになります。

commit 9ff2d8ca791ed1bd149fb8be063db0ed6a67a6de
Author: Dominyk Tiller <dominyktiller@gmail.com>
Date:   Thu Jun 30 17:42:18 2016 +0100

    python: clarify pour_bottle reason

commit cb3b29b824a264895434214e191d0d7ef4d51c85
Author: BrewTestBot <brew-test-bot@googlegroups.com>
Date:   Wed Jun 29 14:18:40 2016 +0100

    python: update 2.7.12 bottle.

commit 45bb1e220341894bbb7de6fd3f6df20987dc14f0
Author: Rakesh <rakkesh@users.noreply.github.com>
Date:   Wed Jun 29 10:02:26 2016 +0530

    python 2.7.12

    Closes #2452.

    Signed-off-by: Tim D. Smith <git@tim-smith.us>

commit cf5da0547cd261f79d69e7ff62fdfbd2c2d646e9
Author: BrewTestBot <brew-test-bot@googlegroups.com>
Date:   Fri Jun 17 20:14:36 2016 +0100

    python: update 2.7.11 bottle.

...

バージョン2.7.11が欲しいので、ハッシュはcf5da0547cd261f79d69e7ff62fdfbd2c2d646e9(またはcf5da05略して)です。次に、そのバージョンを確認し、式をインストールしpythonます。

git checkout cf5da05
brew install python

最後に、クリーンアップ:

git checkout master

2
人生が変わり、この答えが最も関連性があります。忘れずにgithub.com/Homebrew/brew/issues/1188HOMEBREW_NO_AUTO_UPDATE
Wile E

正しいコマンドはcd brew --prefix /Homebrewおよびgit log Library/Taps/homebrew/homebrew-core/Formula/python.rb
Iulian Onofrei

しかし、それ/Library/Tapsは無視されるので機能しません。
Iulian Onofrei

を忘れないでくださいHOMEBREW_NO_AUTO_UPDATE。はい、必要なものを見つけるまで必要なものを忘れないでください。xD
Josh Habdas

これはどう?HOMEBREW_NO_INSTALL_CLEANUPこれは覚えておく必要があることではないですか?
カンキュウ

6

でバージョンが見つからない場合brew search <formula>は、数式のコミットログを調べて、必要なバージョンを見つけることもできます。

brewを使用して古いバージョンのnginxをインストールする例を次に示します。

そこから1.6.3、shaとraw git url を使用してインストールできます。

brew install https://raw.githubusercontent.com/Homebrew/homebrew/eba75b9a1a474b9fc4df30bd0a32637fa31ec049/Library/Formula/nginx.rb


3

現在、特定の数式バージョンをインストールする古い方法は廃止されています。したがって、を使用する必要があるようbrew edit [formula]です。たとえば、の62.1バージョンをインストールしたいとしicu4cます(たとえばに必要postgresql 10.5)。その後、あなたはする必要があります

> brew edit icu4c
# drops you to editor

ここでは、対応する文字列にurlversionおよびsha256(おそらくmirror)を変更する必要があり62.1ます。

url "https://ssl.icu-project.org/files/icu4c/62.1/icu4c-62_1-src.tgz"
mirror "https://github.com/unicode-org/icu/releases/download/release-62-1/icu4c-62_1-src.tgz"
version "62.1"
sha256 "3dd9868d666350dda66a6e305eecde9d479fb70b30d5b55d78a1deffb97d5aa3"

次に実行brew reinstall icu4cして、最終的に62.1バージョンをダウンロードします。


取得する方法sha256 ?私の場合https://storage.googleapis.com/dart-archive/channels/stable/release/1.24.3/sdk/dartsdk-macos-x64-release.zip
simo

1

Library / Formula / postgresql.rbの8行目を次のように更新します。

http://ftp2.uk.postgresql.org/sites/ftp.postgresql.org/source/v8.4.6/postgresql-8.4.6.tar.bz2

そして、9行目のMD5は

fcc3daaf2292fa6bf1185ec45e512db6

保存して終了。

brew install postgres
initdb /usr/local/var/postgres

この段階でpostgresql could not create shared memory segmentエラーに直面する可能性があります。/etc/sysctl.confこのような更新を回避するには、次の ようにします。

kern.sysv.shmall=65536
kern.sysv.shmmax=16777216

もう一度お試しくださいinitdb /usr/local/var/postgres。スムーズに実行されます。

起動時にpostgresqlを実行するには

launchctl load -w /usr/local/Cellar/postgresql/8.4.6/org.postgresql.postgres.plist

それが役に立てば幸い:)


1

古いリリースのelasticsearchを/usr/local/Cellar/elasticsearchディレクトリにコピーしました。

$ mkdir /usr/local/Cellar/elasticsearch/5.4.3/bin
$ cp elasticsearch /usr/local/Cellar/elasticsearch/5.4.3/bin
$ brew switch elasticsearch 5.4.3

それでおしまい。多分それは誰にとっても便利です。


醜いハック。しかし、ええそれは私のためにも機能しました、私が古いバージョンの領事を検索してインストールしようとしていたときです!乾杯。
darkdefender27

0

私は、私のより良い判断に反して、Maven 3.1.1にhomebrew/versionsはない式を作成することにしました。これをする:

  1. homebrew/versionsはgithubでforkしました。
  2. から$(brew --prefix)/Library/Tapsローカルの作業コピーにシンボリックリンクしました。これを呼ぶよmy-homebrew/versions
  3. 数式をとして指定してテストしましたmy-homebrew/versions/<formula>
  4. homebrew/versions新しいフォーミュラのプルリクエストを送信しました。

わーい。


0

現在デフォルトのbrew式にないバージョンの場合は、https://github.com/buildtools-version-taps/homebrew-versions-tap-toolのツールを使用して独自のタップを簡単に作成できます


このツールは現在Homebrewに統合されているようですか?あなたはbrew tap-new user/repoそれからそしてそれからbrew extract --version='Major.minor' FORMULA user/repoそしてそれからbrew install FORMULA@Major.minor
dragon788

0

この回答で規定されているプロセスを容易にするためのツールを作成しまし

pkgバージョンのパッケージを見つけるには、次のコマンドをa.b.c実行します。

$ brew-install-specific pkg@a.b.c

これはpkg、GitHubのURLとともに、指定されたバージョンについて言及している自家製の数式のコミットをリストします。

Matching versions:
1. pkg: update a.b.c bottle.
   https://github.com/Homebrew/homebrew-core/commit/<COMMIT-SHA>
2. pkg: release a.b.c-beta
   https://github.com/Homebrew/homebrew-core/commit/<COMMIT-SHA>
3. pkg a.b.c
   https://github.com/Homebrew/homebrew-core/commit/<COMMIT-SHA>

Select index: 

指定されたURLからのコミットを確認し、選択したコミットのインデックスを入力します。

Select index: 2
Run:
  brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/<COMMIT-SHA>/Formula/pkg.rb

指定されたコマンドをコピーして実行し、インストールします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.