[2018/10]homebrewで過去バージョンのパッケージをインストールする

# 環境

> macOS : High Sierra 10.13.6
Xcode : Version 10.0 (10A255)

# 手順

ローカルのFomulaのディレクトリに移動。

```bash
cd /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/
```

Terminalで現在インストールされているバージョンを確認。
＊がついているのが今動いているバージョン。

```bash
$ brew info jpeg
jpeg: stable 8d
Image manipulation library
http://www.ijg.org
/usr/local/Cellar/jpeg/8d (20 files, 734.6KB)
  Built from source on 2018-10-10 at 11:11:05
/usr/local/Cellar/jpeg/9c (21 files, 724.5KB) *
  Poured from bottle on 2018-10-09 at 19:17:29
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/jpeg.rb
==> Options
--universal
	Build a universal binary
==> Analytics
install: 113,600 (30d), 535,050 (90d), 1,663,212 (365d)
install_on_request: 5,734 (30d), 31,458 (90d), 82,705 (365d)
build_error: 9 (30d)
```


## A. 動かしたい過去バージョンが既にある場合

`brew switch`でいける。

```bash
$ brew switch jpeg 8d
Cleaning /usr/local/Cellar/jpeg/9c
Cleaning /usr/local/Cellar/jpeg/8d
17 links created for /usr/local/Cellar/jpeg/8d
```

## B. 過去バージョンがない場合

`git log `で必要なバージョンのコミットを探す。
[q]キーで閲覧状態をエスケープ。


```bash

$ git log jpeg.rb
commit ae184c6fe491b63ab7624061f4078a1a2e9db3cd
Author: BrewTestBot <brew-test-bot@googlegroups.com>
Date:   Wed Aug 15 21:51:17 2018 +0000

    jpeg: update 9c bottle.

commit 299fc3de1d9bcc4f04c303f0a0cec9921e4e2e8c
Author: Viktor Szakats <commit@vszakats.net>
Date:   Mon Jul 30 12:11:24 2018 +0000

    jpeg: secure/fix url(s)

commit a70cad368bc5a14be037d24018ec9114d6b32f90
Author: ilovezfs <ilovezfs@icloud.com>
Date:   Mon Jul 9 13:57:38 2018 +0100

    jpeg: mirror to Bintray and use Bintray as primary (#29885)
    
    also add fossies mirror

.
.
.

```

対象のものをcheckoutする

```bash
$ git checkout 7f16e5aa9451ea391cbb7822a59d2bf702c5b834 jpeg.rb
```

そしてinstall

```bash
$brew install jpeg
```

既に現行バージョンがはいってるよ、と言われるので縁を切る。

```bash
$ brew install jpeg
Error: jpeg 9c is already installed
To install 8d, first run `brew unlink jpeg`

$brew unlink jpeg
Unlinking /usr/local/Cellar/jpeg/9c symlinks removed
```

改めて`brew install`で完了。

```bash
$brew install jpeg
```

`brew info`で確認。

```bash
$ brew info jpeg
jpeg: stable 8d
Image manipulation library
http://www.ijg.org
/usr/local/Cellar/jpeg/8d (20 files, 734.6KB) *
  Built from source on 2018-10-10 at 11:11:05
/usr/local/Cellar/jpeg/9c (21 files, 724.5KB)
  Poured from bottle on 2018-10-09 at 19:17:29
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/jpeg.rb
==> Options
--universal
	Build a universal binary
==> Analytics
install: 115,661 (30d), 535,050 (90d), 1,663,212 (365d)
install_on_request: 5,859 (30d), 31,458 (90d), 82,705 (365d)
build_error: 3 (30d)
```

一度インストールをしていれば`brew switch`で好きなバージョンに簡単に切り替えられる。

```bash
$ brew switch jpeg 9c
Cleaning /usr/local/Cellar/jpeg/9c
Cleaning /usr/local/Cellar/jpeg/8d
18 links created for /usr/local/Cellar/jpeg/9c
nagahora-2:Formula nagahora$ brew info jpeg
jpeg: stable 8d
Image manipulation library
http://www.ijg.org
/usr/local/Cellar/jpeg/8d (20 files, 734.6KB)
  Built from source on 2018-10-10 at 11:11:05
/usr/local/Cellar/jpeg/9c (21 files, 724.5KB) *
  Poured from bottle on 2018-10-09 at 19:17:29
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/jpeg.rb
==> Options
--universal
	Build a universal binary
==> Analytics
install: 115,661 (30d), 535,050 (90d), 1,663,212 (365d)
install_on_request: 5,859 (30d), 31,458 (90d), 82,705 (365d)
build_error: 3 (30d)
```

# 参考
[Homebrewで旧バージョンをインストールする方法(brew versionsはもう使えない)](https://qiita.com/honeniq/items/778cc08d2db78e6774d8)