LoginSignup
22
6

More than 5 years have passed since last update.

tigがLibrary not loadedとエラーになってしまう現象の対応

Posted at

TL;DR

tigが以下のエラーを吐いて動かなかったのでいろいろ試した。
結論からいってしまうとHomebrewで使用しているreadlineのバージョンをスイッチすればだいたいOK
そのあとワーニングが出る場合の対処は後述する。

対象読者 or 前提条件 or 環境

対象者:

  • 気軽にbrew updateしてしまい急にtigが動かなくなった人

前提条件:

  • brew経由でreadline入れてる
  • brew経由でtig入れてる
  • 気軽にbrew updateした OR ついつい間違ってbrew updateしてしまった

環境:

  • macOS 10.12.4

経緯:

元々のエラーは↓

# tigで使用しようとしているlibreadline.x.dylibが見つかんねえぞ!と怒られてる
dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib
  Referenced from: /usr/local/bin/tig
  Reason: image not found
zsh: abort      tig

readlineは確かすでに入れてあったしこの前tigコマンドを実行したときは普通に動いてたよなー確かと記憶を探る。
そういえばさっきbrew updateしたから動かなくなったのかなー?
…と思い「Library not loaded tig」とかで検索しいくつかのサイトを参考にした。

で結局原因としてはやはりというか当たり前だがbrew updateしたことによってtigが求めているreadlineのバージョンが上がったということだった。

brew switch readline 7.x.x

なので↑のコマンド叩いて問題解決!
とは残念ながらならなかった…。

tigのwarningを消す:

tig warning: /usr/local/etc/tigrc:90: status-untracked-dirs has been renamed to status-show-untracked-dirs
tig warning: Errors while loading /usr/local/etc/tigrc.

今度は↑のワーニングが出るようになった。
なおワーニングなのでtigそのものは動く、動くんだけどワーニングが表示されたままだと気持ち悪い。
ちなみにどうでもいいがワーニングとカタカナで書くのも書かれているのも気持ち悪い。
置換が面倒なのでこのまま押し通すが。

とりあえず素直にワーニング文を読んだところ、/usr/local/etc/tigrc の90行目がリネームされているのはわかった。

出来れば直接いじらずになんとかしたかったがググったりインストール/アンインストールしてもどうにもならんかった。
brewだけで問題を解決するのは難しそう&そこまで時間をかけるほどの価値がないので↓のコードを書き換えた。

# 元々は↓だったがコメントアウトしてリネーム後のものに書き換えた
# set status-untracked-dirs   = yes       # Show files in untracked directories? (status)
set status-show-untracked-dirs  = yes     # Show files in untracked directories? (status)

そしてようやくエラーやワーニングに煩わされない快適なtig ライフが戻ってきた。

あとがき

homebrewは便利なんだけどもこの手の依存関係で時間を取られることがまれにあって鬱陶しい。
依存関係も諸々含めて解決して欲しい。
本質的でないところで時間を取られる感じがしてすごく嫌だ。
とはいえこの手の開発ツールに対する自分の理解度が低い問題もあるので一概に攻められはしないのだが。

22
6
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
22
6