psqlしたらreadlineのエラーが出るようになって

rbenvとphpenvの共存で色々やってたら、突然psql(9.3.4)がエラーを吐くようになった。

readlineとは?

readlineはpsqlでデフォルト使用になっている「行入力支援ライブラリ」との事。
postgresqlのドキュメント( https://www.postgresql.jp/document/9.3/html/install-requirements.html )を見たら
コマンドの記憶などに使っているらしい。
なのでpsqlではエラーが出るけど、postgresql自体に問題はなく、GUIではちゃんと動いている。

Cellerにreadline 6.3のインストール

libreadline.6.dylibがない!との事ですが、brew info readlineしたらreadlineは7しかないので6をインストールする。
homebrewのcellerにインストールすればhomebrewが認識してくれるはずなので
/usr/local/Celler以下にインストールしてみよう
ここ( http://core.ring.gr.jp/pub/GNU/readline/ )から6.3のソースをDL。
以下のオプションをつけてconfigureしたらmake&make install(testはない)

homebrewでreadlineを7から6に切り替え

再度brew info

6が認識されたので、switch

コマンドのエイリアスを確認

無事libreadline.6.dylibのエイリアスが作成されていますね。

無事に動きました。

追記:この後rails cしたらreadline7じゃないとダメってエラー出て、場合によってswitchするという謎の状況に陥っているので早くなんとかしたい。
/usr/local/opt/readline/lib/に6と7両方のリンク貼ったらだめかなぁ〜。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です