[2019/06/15追記]
現在はreadline8
への対応が進んでおり、tig
はreadline8
で動作するようになりました。
awk
は依然対応されていないようです(そもそも更新される予定があるのか不安になってきた)
自分はgawk
(GNU実装のawk
)に移行しました
readlineとは
readlineは、行編集用のライブラリでbashやvimなど、様々なところで使われています。
現在homebrewで入るreadlineはv8.0.0
現在、homebrew
を使うとインストールできるのはバージョン8.0.0
です。
しかしながら、 まだversion7系統を使っているプログラムがいくつかあるのです。
例:
- awk
- tig
これらを使うためには、readlineは7系を使わないといけません
readlineの7系を使う
実はhomebrewではバージョン切り替えが可能なので、readlineの7系(最新だと7.0.5)を使うことができます。
パターン1: 昔のCellarが残っている
昔readlineがまだ7系だった頃にreadlineをインストールしていて、brew cleanupをしていなければ以下のようにしてバージョンを切り替えることができます。
# brew switch <formula名> <バージョン>
$ brew switch readline 7.0.5
brew info readline
をした時、以下のように使用可能なバージョンが表示されます(自分は後述の方法で7.0.5入れたので7.0.5が入っています)
readline: stable 8.0.0 (bottled) [keg-only]
Library for command-line editing
https://tiswww.case.edu/php/chet/readline/rltop.html
/usr/local/Cellar/readline/7.0.5 (46 files, 1.5MB) # <-- この行
Built from source on 2019-02-02 at 18:34:08
/usr/local/Cellar/readline/8.0.0 (48 files, 1.5MB)
Poured from bottle on 2019-01-13 at 23:06:35
パターン2: homebrew cleanupしてしまった
Homebrew cleanup
をしてしまい、Cellarが残っていない場合はどうしようもありません...諦めまし
なんてわけはもちろんないです。
readlineのformulaを古いのを使えばいいんです。
ということで、古い(7.0.5用の)formulaを本体から抜き出してきてここに置いてあります: Cj-bc/homebrew-cj-bc/readline.rb
普通にtapしても良いですが、自分は他のformulaも同じレポジトリに置いているので割と混同するので以下のように直接インストールするのをお勧めします(もちろん自分で取ってきても良いと思います。)
$ brew unlink readline # 8.0.0 のリンクを外しておく。必要かはわからないですが自分は外しました。
$ brew install cj-bc/cj-bc/readline
こうすることで、7.0.5
が使えるようになります。
ちなみに私は: homebrewに勝手にcleanupされました