RubyのデバックようにPryをインストールして見ようかなと思ったのでそのメモ
tr;ld
awkじゃないけどreadlineの問題はこれで治った
— つかぱい (@tukapail) 2019年6月3日
Macでawkを実行するとエラー: "dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib" となる問題の解決法 https://t.co/A9oJD347er #Qiita
pryをインストールするときに起動できなくて詰まったのだけど
原因としてはReadlineの問題だった。
brewで更新をかければ解消する。
pryのインストール方法
pryはbrewではなくgemでインストールします。 ドキュメントの生成もしたかったのであわせてpry-docもインストール
$ gem install pry pry-doc
これでインストール自体はできたのだけど実行しようとしたら以下の問題が出てきた
$ pry Sorry, you can't use Pry without Readline or a compatible library. Possible solutions: * Rebuild Ruby with Readline support using `--with-readline` * Use the rb-readline gem, which is a pure-Ruby port of Readline * Use the pry-coolline gem, a pure-ruby alternative to Readline @中略@ /Users/pcuser/.rbenv/versions/2.6.0/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require': dlopen(/Users/pcuser/.rbenv/versions/2.6.0/lib/ruby/2.6.0/x86_64-darwin18/readline.bundle, 9): Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib (LoadError) Referenced from: /Users/pcuser/.rbenv/versions/2.6.0/lib/ruby/2.6.0/x86_64-darwin18/readline.bundle Reason: image not found - /Users/pcuser/.rbenv/versions/2.6.0/lib/ruby/2.6.0/x86_64-darwin18/readline.bundle
最初はrbenvにコマンドのシンボリックリンクがないせいかなと思ってrehashをかけてみた。
参考リンク:rbenv rehashは何をやっているのか?
とりあえずrehash
$ rbenv rehash
ただ後でエラーコードを見たらここに気がついた
Possible solutions: * Rebuild Ruby with Readline support using `--with-readline` * Use the rb-readline gem, which is a pure-Ruby port of Readline * Use the pry-coolline gem, a pure-ruby alternative to Readline
怒られているのはReadlineの問題なのね
ということでReadlineの解消方法をググってみた。
結果これを試してみる
この記事はAwkだけど、結果的にReadlineの問題に触れているのでまあいいか
とりあえず実行
$ brew switch readline 7.0.5 Cleaning /usr/local/Cellar/readline/8.0.0_1 Cleaning /usr/local/Cellar/readline/6.3.8 Cleaning /usr/local/Cellar/readline/7.0.5 Cleaning /usr/local/Cellar/readline/7.0.3_1 Opt link created for /usr/local/Cellar/readline/7.0.5 $ pry [1] pry(main)>
うん、これで動いた。
今日はとりあえず問題を解決した
おわり