Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
2
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

@giga811

"Sorry, you can't use byebug without Readline." 解決方

    Sorry, you can't use byebug without Readline. To solve this, you need to
    rebuild Ruby with Readline support. If using Ubuntu, try `sudo apt-get
    install libreadline-dev` and then reinstall your Ruby.
/Users/...1/lib/active_support/dependencies.rb:274:in `require': dlopen(/Users/.../x86_64-darwin15/readline.bundle, 9): Library not loaded: /usr/local/opt/readline/lib/libreadline.6.dylib (LoadError)
  Referenced from: /Users/.../x86_64-darwin15/readline.bundle
  Reason: image not found - /Users/.../x86_64-darwin15/readline.bundle

readline のバージョンが変わったせいで使えなくなっているみたい。
https://github.com/deivid-rodriguez/byebug/issues/289

brew info してみると、3/21に brew update でreadlineがバージョン8になったからだと思われる。

$ brew info readline
readline: stable 8.0.0 (bottled) [keg-only]
Library for command-line editing
https://tiswww.case.edu/php/chet/readline/rltop.html
/opt/brew/Cellar/readline/7.0.5 (46 files, 1.5MB)
  Poured from bottle on 2018-08-09 at 22:05:58
/opt/brew/Cellar/readline/8.0.0 (48 files, 1.5MB)
  Poured from bottle on 2019-03-21 at 13:35:56

解決法として3つあったが、今回はRubyの再インストールで解決した。

1. Ruby を再インストール

$ rbenv uninstall 2.5.3
$ rbenv install 2.5.3

rbenv 使ってるから、Ruby の再インストールをためらう理由がなかった。それにプロジェクトのRubyバージョンアップでteenyバージョンをあげることもあるし、再インストールでいいと思う。

2. rb-readline gem をインストールする

rb-readline gem も問題あるみたい

3. symlink 貼り替える

$ ln -s /usr/local/opt/readline/lib/libreadline.dylib /usr/local/opt/readline/lib/libreadline.6.dylib
https://github.com/deivid-rodriguez/byebug/issues/289#issuecomment-265082757

しかし、v8になって過去バージョンのバイナリ残ってなかったから使えない。
代わりに brew switch readline 7.0.5 すると解決できる

$ ls -al /usr/local/opt/readline/lib
total 1448
drwxr-xr-x  11 hoge  staff     352 12 20 06:07 .
drwxr-xr-x  12 hoge  staff     384  3 21 13:35 ..
-r--r--r--   1 hoge  staff   40396  3 21 13:35 libhistory.8.0.dylib
lrwxr-xr-x   1 hoge  staff      20 12 20 06:07 libhistory.8.dylib -> libhistory.8.0.dylib
-r--r--r--   1 hoge  staff   45848 12 20 06:07 libhistory.a
lrwxr-xr-x   1 hoge  staff      20 12 20 06:07 libhistory.dylib -> libhistory.8.0.dylib
-rw-r--r--   1 hoge  staff  239260  3 21 13:35 libreadline.8.0.dylib
lrwxr-xr-x   1 hoge  staff      21 12 20 06:07 libreadline.8.dylib -> libreadline.8.0.dylib
-r--r--r--   1 hoge  staff  406384 12 20 06:07 libreadline.a
lrwxr-xr-x   1 hoge  staff      21 12 20 06:07 libreadline.dylib -> libreadline.8.0.dylib
drwxr-xr-x   3 hoge  staff      96  3 21 13:35 pkgconfig

bundler インストール

rubyを再インストールして bundle install しようとしたところ、今度は以下のエラーが出た。

can't find gem bundler (>= 0.a) with executable bundle (Gem::GemNotFoundException)

これは bundler (2.0.1) がインストールされたからで、 Gemfile.lock の1.17.3と合わないからだ。

解決法1.17.3 を入れたらokです。

gem install bundler -v 1.17.3

Bundlerは.lock ファイルをみて勝手に切り替えてくれるようなので 2.0.1 は残しても問題なさそう。gem list でも両方インストールされている。

$ gem list
...
bundler (2.0.1, 1.17.3)
...
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
2
Help us understand the problem. What are the problem?