web-dev-qa-db-ja.com

Brewを使用して古い式をインストールする方法は?

Python 2.7.9の代わりに最新の2.7.10の代わりにインストールする場合、以前は単にbrew versions pythonを使用して、Pythonコミットによる式SHA brewで、特定のバージョンをインストールするためにチェックアウトします。これはbrew versions python出力の例です:

$ brew versions python
Warning: brew-versions is unsupported and will be removed soon.
You should use the homebrew-versions tap instead:
  https://github.com/Homebrew/homebrew-versions
2.7.9    git checkout 667284f /usr/local/Library/Formula/python.rb
2.7.8    git checkout f26ca5c /usr/local/Library/Formula/python.rb
2.7.7    git checkout d48206e /usr/local/Library/Formula/python.rb
2.7.6    git checkout 3c64184 /usr/local/Library/Formula/python.rb
2.7.5    git checkout a04b443 /usr/local/Library/Formula/python.rb
2.7.3    git checkout 865f763 /usr/local/Library/Formula/python.rb
2.7.4    git checkout 280581d /usr/local/Library/Formula/python.rb
2.7.2    git checkout 97c6869 /usr/local/Library/Formula/python.rb
2.7.1    git checkout 83ed494 /usr/local/Library/Formula/python.rb
2.7      git checkout 1bf3552 /usr/local/Library/Formula/python.rb
2.6.5    git checkout acd49f7 /usr/local/Library/Formula/python.rb
2.6.4    git checkout 843bff9 /usr/local/Library/Formula/python.rb
2.6.3    git checkout 5c6cc64 /usr/local/Library/Formula/python.rb

しかし、brewの最新バージョンはversionsのサポートを既に削除しており、以前のPythonを使用して https://github.comをインストールする方法がわかりません。/Homebrew/homebrew-versions 。新しい2.7.10ではなく、実際にどのようにPython 2.7.9をインストールしますか?

もっと簡単な方法homebrew-versionsの代わりにbrew versionsを使用する方法を知りたいです。

brew versionsを使用すると、その特定の式のすべてのバージョンを簡単に見ることができました(上記のPython brew versions pythonによって吐き出されるバージョンをご覧ください)。 docbrew versions pythonと同じ結果を達成する明確な方法はありません。

26
swdev

以前はhomebrew-versionsがこれを行う最も簡単な方法でしたが、homebrew-versionsは廃止され、homebrewの現在のバージョンでは使用できなくなりました。

すぐに使用可能なバージョンを見つけるには、次のコマンドを使用します。

brew search python

python@2のような古いバージョンを表示する利用可能なpythonパッケージをすべて一覧表示するには、次を使用してインストールできます。

brew install python@2

いくつかの代替アプローチ

前のバージョンへの切り替え

旧バージョンの式を既にインストールしており、削除していない場合は、brewコマンドを使用してシンボリックリンクを参照するように切り替えることができます。

brew switch python 2.7.9

このコマンドは、バージョン2.7.9に切り替わります。

brew switch python 2.7.10

これにより、バージョン2.7.10に戻ります。

Formula GitHubの歴史

システムでまだ古いバージョンを使用できない場合は、別の方法を試すことができますが、Homebrewでサポートするのはより難しく、ほぼ確実にサポートされていないため、問題が発生した場合は、彼らの助けに頼ることができない場合があります。

https://github.com/Homebrew/homebrew-core/commits/master/Formul/<formula>.rbは、その式のコミット履歴に移動します。 python 2.7.9をインストールする例では、次のようにします。

  1. https://github.com/Homebrew/homebrew-core/commits/master/Formula/python.rbに移動します
  2. 「python 2.7.10」のコミットサマリーを持つエントリを探します
  3. その下のエントリのコミットハッシュを見つけてコピーします(この例では1681e19
  4. git checkout 1681e19 /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/python.rbを端末に入力します

この時点から、古いバージョンのメソッドでpythonの古いバージョンをインストールするために通常行うことは何でもします。これは古いメソッドが行っていたすべてのように見えます。

33

Homebrewはgit historyからの数式のインストールをサポートしていませんが、可能です。 homebrew-versionsタップにはpython *式はありません。これは、それらを維持するのに多大な労力がかかり、可能な限り最高のユーザーエクスペリエンスを提供できないためです。 pyenv は、複数のpythonを保持することに関連する多くの問題を解決する素晴らしいツールです。 ser-maintained tap もあり、古いPythonバージョン; 2.7.9式をそこに提供できます。

4
Tim Smith