私は同じパッケージの樽をいくつか持ってい/usr/local/Cellar/libfoo
ます/usr/local/Cellar/libfoo/1.0.1
、/usr/local/Cellar/libfoo/HEAD
そして/usr/local/Cellar/libfoo/mycopy
特定のバージョンへのリンクを作成するにはどうすればよいですか?
私は同じパッケージの樽をいくつか持ってい/usr/local/Cellar/libfoo
ます/usr/local/Cellar/libfoo/1.0.1
、/usr/local/Cellar/libfoo/HEAD
そして/usr/local/Cellar/libfoo/mycopy
特定のバージョンへのリンクを作成するにはどうすればよいですか?
Homebrew 2.6.0(2020年12月)で非推奨。実用的なソリューションについては、最後の更新にスキップしてください
使用情報:
Usage: brew switch <formula> <version>
例:
brew switch mysql 5.5.29
システムにインストールされているバージョンは、で見つけることができますinfo
。
brew info mysql
また、インストール可能なバージョンを確認するために、不発のバージョン番号を指定できます。これは、brewが利用可能なバージョン番号で役立つように応答するためです。
brew switch mysql 0
更新(2014年10月15日):
このbrew versions
コマンドはbrewから削除されましたが、このコマンドを使用する場合は、最初にを実行してbrew tap homebrew/boneyard
ください。
古いバージョンをインストールするための推奨される方法は、homebrew/versions
次のようにリポジトリからインストールすることです。
$ brew tap homebrew/versions
$ brew install mysql55
アップデート(11.1.2022):
特定のバージョン、たとえばpostgresql 9.5をインストールするには、次のコマンドを実行するだけです。
$ brew install postgresql@9.5
使用可能なバージョンを一覧表示するには、@で検索を実行します。
$ brew search postgresql@
==> Formulae
postgresql postgresql@11 postgresql@13 postgresql@9.5 qt-postgresql
postgresql@10 postgresql@12 postgresql@9.4 postgresql@9.6 postgrest
==> Casks
navicat-for-postgresql
古いバージョンの数式をインストールするすべての方法の詳細については、この回答をお読みください。
悲しいことに、 Homebrew 2.6.0(2020年12月)brew switch
で非推奨になりました
$ brew switch
Error: Unknown command: switch
package
TLDR、バージョンに切り替えるには10
:
brew unlink package
brew link package@10
パッケージの別のバージョンを使用するには、次に例を示しnode
ます。
brew list
ます。ここでの私のパッケージはnode
(16)とnode@14
です。➜ ~ brew list
==> Formulae
node
node@14
➜ ~ node -v
v16.1.0
brew unlink node
。➜ ~ brew unlink node
Unlinking /usr/local/Cellar/node/16.1.0... 7 symlinks removed.
➜ ~ brew link node@14
Linking /usr/local/Cellar/node@14/14.16.1_1... 3857 symlinks created.
If you need to have this software first in your PATH instead consider running:
echo 'export PATH="/usr/local/opt/node@14/bin:$PATH"' >> ~/.zshrc
➜ ~ node -v
v14.16.1
#machomebrewで質問したところ、brewswitchを使用してバージョンを切り替えることができることがわかりました。
$ brew switch libfoo mycopy
libfooのバージョンmycopyを取得します。
たとえば、php 5.4をインストールした場合は、次の方法でphp5.5に切り替えることができます。
$ php --version
PHP 5.4.32 (cli) (built: Aug 26 2014 15:14:01)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies
$ brew unlink php54
$ brew switch php55 5.5.16
$ php --version
PHP 5.5.16 (cli) (built: Sep 9 2014 14:27:18)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
brew switch libfoo mycopy
brew switch
同じパッケージがバージョン管理されたサブディレクトリとしてインストールされている場合は、同じパッケージのバージョンを切り替えるために使用できます。Cellar/<packagename>/
これにより、インストールされているバージョンが一覧表示されます(たとえばCellar/sdl2/2.0.3
、私が持っていた、コンパイルしたCellar/sdl2/2.0.4
)
brew info sdl2
次に、それらを切り替えます
brew switch sdl2 2.0.4
brew info
情報*
が2.0.4の横に表示されるようになりました
ソースからインストールするにCellar/<packagename>/<version>
は、たとえば次のように実行できます
cd ~/somewhere/src/foo-2.0.4
./configure --prefix $(brew --Cellar)/foo/2.0.4
make
でインストールされる場所を確認してください
make install -n
すべてが正しいように見える場合
make install
次に、cd $(brew --Cellar)
バージョンを切り替えます。
使っていますbrew version 0.9.5
HomebrewはHomebrew2.6.0brew switch
でサブコマンドを削除しました。ここから取り戻します。
brew tap laggardkernel/tap
brew switch --help
古いバージョンのアプリに切り替えるには、主に2つの方法があります。
それがより大きなバージョン変更である場合。Homebrewは、リポジトリにバージョン管理されたパッケージを作成した可能性があります。、のようgo
にgo@1.10
、それらは2つの異なる数式であり、2つの異なる場所にインストールされます。
# install the old one
brew install go@1.10
# link the executable into /usr/local/bin, or /opt/homebrew/bin
brew link --overwrite --force go@1.10
ただし、すべてのパッケージにバージョン管理されたバリアントがあるわけではありません。新しいバージョンにアップグレードしたばかりで、古いバージョンがまだシステムに残っている場合は、手順1、2をスキップしてください。
brew install /path/to/downloaded/mysql.rb
。mysql
)の両方が存在します。古いバージョンを次のように切り替えます(リンクアウトします)。brew switch mysql 8.0.23
brew info mysql
まだ存在するすべての古いバージョンが一覧表示されます。
ステップ1、2は、に置き換えることができますbrew extract
が、ユーザーが独自のタップを維持する必要があります。ここでは取り上げません。興味があれば検索してください。
エラーが発生した場合brew switch
(この例では、ノードバージョン14に切り替えようとしています):
> brew switch node 14
Error: Calling `brew switch` is disabled! Use `brew link` @-versioned formulae instead.
バージョンを切り替える正しい方法は次のとおりです。
> brew link --overwrite node@14
一部のMacで@simonの回答が機能しない場合は、以下のプロセスに従ってください。
次のコマンドを使用してswiftgenをすでにインストールしている場合:
$ brew update
$brew install swiftgen
次に、古いバージョンでswiftgenを実行するには、以下の手順に従います。
ステップ1:brew uninstall swiftgen
ステップ2:https
://github.com/SwiftGen/SwiftGen/releasesに移動し、バージョンがswiftgen-4.2.0.zipのswiftgenをダウンロードします。
いずれかのディレクトリでパッケージを解凍します。
ステップ3:ターミナルで以下を実行します。
$ mkdir -p ~/dependencies/swiftgen
$ cp -R ~/<your_directory_name>/swiftgen-4.2.0/ ~/dependencies/swiftgen
$ cd /usr/local/bin
$ ln -s ~/dependencies/swiftgen/bin/swiftgen swiftgen
$ mkdir ~/Library/Application\ Support/SwiftGen
$ ln -s ~/dependencies/swiftgen/templates/ ~/Library/Application\ Support/SwiftGen/
$ swiftgen --version
SwiftGen v0.0(Stencil v0.8.0、StencilSwiftKit v1.0.0、SwiftGenKit v1.0.1)を取得する必要があります