特定のバージョンをリンクする方法を教えてください。


158

同じパッケージのいくつかの樽が/usr/local/Cellar/libfoolike /usr/local/Cellar/libfoo/1.0.1/usr/local/Cellar/libfoo/HEADあり、/usr/local/Cellar/libfoo/mycopy

特定のバージョンへのリンクを作成するにはどうすればよいですか?

回答:


310

使用情報:

Usage: brew switch <formula> <version>

例:

brew switch mysql 5.5.29

システムにインストールされているバージョンは、で確認できますinfo

brew info mysql

また、インストール可能なバージョンを確認するために、drewのバージョン番号を指定できます。

brew switch mysql 0

アップデート(15.10.2014):

brew versionsコマンドは、このコマンドの最初の実行を使用したいならば、醸造から削除したがbrew tap homebrew/boneyard

古いバージョンをインストールするための推奨される方法はhomebrew/versions、次のようにリポジトリからインストールすることです。

$ brew tap homebrew/versions
$ brew install mysql55

古いバージョンの式をインストールするすべての方法の詳細については、この回答を参照してください


1
15.10.2014 Updateメソッドに従い、/ usr / local / Cellar / mysql55 / 5.5.40 / binをパスに追加する必要がありました。ほとんどのHomebrewのものは/ usr / local / binから/ usr / local / Cellar ...へのシンボリックリンクを持っていますが、更新されたインストールはこのシンボリックリンクを自動的に追加しません。
Powers

1
インストールしたバージョンをリンクし、次のコマンドを使用して現在のリンクを上書きする必要があります。brew link --overwrite mysql55
Yann VR

2
残念ながら、brew tap homebrew/versions今ではエラーが発生しますError: homebrew/versions was deprecated. This tap is now empty as all its formulae were migrated`
Juraj Martinka '14

どのバージョンが利用可能であるversionsか、または単に推測してチェックするだけで利用可能なバージョンを把握する方法はありswitchますか?
カイルストランド

1
バージョンは非推奨であるため、残っている唯一の方法は、古い式を見つけて直接URLからインストールすることです
SimonW

12

#machomebrewで質問したところ、brewスイッチを使用してバージョンを切り替えることができることがわかりました。

$ brew switch libfoo mycopy 

libfooのバージョンmycopyを取得します。


4

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


3

たとえば、php 5.4をインストールした場合、次の方法でphp 5.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

0

@simonの回答が一部のMacで機能しない場合は、以下のプロセスに従ってください。

次のコマンドを使用してすでにswiftgenをインストールしている場合:

$ brew update $brew install swiftgen

次に、古いバージョンでswiftgenを実行するために、以下の手順に従います。

ステップ1:brew uninstall swiftgen ステップ2:https ://github.com/SwiftGen/SwiftGen/releasesに移動し、バージョンが含まれるswiftgenをダウンロードします:swiftgen-4.2.0.zip。

パッケージを任意のディレクトリに解凍します。

ステップ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)

ここに画像の説明を入力してください

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