LoginSignup
2

More than 3 years have passed since last update.

rbenv でインストールした irb で readline が効かなくなったときにやったこと

rbenv でインストールした irb で readline が効かなくなったときにやったこと

rbenv は Homebrew でインストールしています。たぶん、OS アップグレードか何かのタイミングで、irb のキー移動や補完が効かなくなっていたので、readline 関係の問題だろうということで調べた結果、こちらの手順で治りました。

  1. brew reinstall rbenv ruby-build readline
  2. インストールされているバージョンを rbenv versions で確認し、すべて rbenv uninstall
  3. 改めて rbenv install VERSION
[Ace] $ rbenv install 2.7.0
...
Installing ruby-2.7.0...
ruby-build: using readline from homebrew

どうでもいい補足

readline ライブラリは補完やヒストリーを実現するための便利なライブラリですが、ライセンスが GPLv3 であるため、Mac OS X では NetBSD 由来の libedit がインストールされており、libreadline は libedit へのシンボリックリンクになっています。

$ ls -la /usr/lib/libreadline.dylib 
lrwxr-xr-x  1 root  wheel  15  2  2  2019 /usr/lib/libreadline.dylib -> libedit.3.dylib

しかし、少なくとも数年前までは libedit にはいくつかの問題があり、ユーザーがおのおの readline をインストールして有効にしている、と認識しています。

もっとも、最近は Mac OS も積極的にアップグレードしていないので、状況は変わってるかもしれない。

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
What you can do with signing up
2