読者です 読者をやめる 読者になる 読者になる

ITは遊び

毎日パソコンのことばかり考えてる

homebrewで複数バージョンパッケージインストールするのに、homebrew/versionsを使う

brew install svnで、1.8がインストールされてしまったので、1.7をインストールしようとした。

本来は、以下のようにするらしい。

$ brew versions svn
1.8.0    git checkout dc10447 /usr/local/Library/Formula/subversion.rb
1.7.10   git checkout 0060dc3 /usr/local/Library/Formula/subversion.rb
1.7.9    git checkout b0e6223 /usr/local/Library/Formula/subversion.rb
...
$ git checkout 0060dc3 /usr/local/Library/Formula/subversion.rb
$ brew install svn
$ brew switch svn 1.7.10

しかし、以下の様なエラーに見舞われた

$ git checkout 0060dc3 /usr/local/Library/Formula/subversion.rb
fatal: Not a git repository (or any of the parent directories): .git

管理する場所も、gitリポジトリじゃなきゃ駄目っぽいが、いろいろ調べて以下を実行したが、駄目だった。

$ brew update
Already up-to-date.
$ brew doctor
Your system is ready to brew.

brew searchをしてみると、別のバージョンが別のパッケージとして登録されていた。

$ brew search subversion
subversion
homebrew/versions/subversion16
homebrew/versions/subversion17

どうやら、別のパッケージリストを追加するようだ。

$ brew tap homebrew/versions
$ brew install subversion17

このままだと、まだ1.8.0がパスにつながったままになっている。

$ svn --version
svn, version 1.8.0 (r1490375)

これを、linkとunlinkを使って、1.7が見えるようにする。

$ brew unlink subversion
$ brew link subversion17

これで、1.7.10が使える。

$svn --version
svn, version 1.7.10 (r1485443)

本当は、もっと簡単にbrew switchでできるようにできているっぽいので、上記エラーの解決方法を教えて欲しい。