
前川さん、大城さん、阿部さん 沢山の親切な情報をありがとうございました。おかげさまで問題をフィックスできました。 最初に rbenvで別のRubyをインストールしようとしたら、謎のエラーでストップ cannot load such file -- psych こいつに悩まされました。本家から Ruby のtarballを落としてビルドしようとしても 同様です。解決は断念。 そこで、現行の 3.0.2と rbenvを切ってしまうことにしました。 sudo apt purge ruby rbenv ruby-build rm -rf ~/.rbenv 道具をインストール sudo apt install gcc make sudo apt install libssl-dev zlib1g-dev |gitからrbenvをインストール git clone --depth 1 https://github.com/rbenv/rbenv.git ~/.rbenv 少し作業して rbenvをmake インストールできるバージョンを探す rbenv install --list-all | lv # 3.1.2がいいかな rbenv install 3.1.2 rbenv global 3.1.2 これでちゃんと動くRubyが入手できました。もっとスマートにやれたかも しれません。 小波秀雄 | On 2023/10/31 9:46, 前川 享仁 via ruby-list wrote:
------------------------------------------------------------------------ *From:* Yasuhiro ABE via ruby-list <ruby-list@ml.ruby-lang.org> *Sent:* Tuesday, October 31, 2023 12:43:21 AM *To:* 大城 尚紀 via ruby-list <ruby-list@ml.ruby-lang.org> *Cc:* Yasuhiro ABE <yasu@yasundial.org> *Subject:* [ruby-list:51012] Re: Readline.readline の動作について こんにちは、阿部といいます。
昨日メールを登録していないアカウントから送信してしまい弾かれて しまったようです。重複して受け取った方がいれば申し訳ありません。
Ubuntu 22.04のruby packageはibeditとリンクしていたので、 ruby-3.0.6.tar.gz から --enable-libedit付きでコンパイルしてみた ところ再現しました。
Ubuntu 23.10のruby packageもlibeditを使用していますが、再現しません。
ruby-3.2.2.tar.gz の ext/readline/readline.c と比較すると prepare_readline(); 行の有無だけが違うようでしたので原因は 3.0系のコードが古いことだろうと思います。
Ubuntu 22.04を使う前提であれば、snapで配布されているrubyをインストール (snap install --classic ruby) して、/snap/bin/ruby を使うのが良いかもしれません。
On 2023/10/31 9:20, 大城 尚紀 via ruby-list wrote:
こんにちは。興味があったので試してみました。別OSですが、AlmaLinux 9.2だ とRuby 3.0.4でreadlineが使えるようでした。
ご参考までにお送りします。
$ cat /etc/redhat-release AlmaLinux release 9.2 (Turquoise Kodkod) $ ruby -v -r readline -e 'puts "readline #{Readline::VERSION}"' ruby 3.0.4p208 (2022-04-12 revision 3fa771dded) [x86_64-linux] readline 8.1
$ ruby readline-test.rb 項目を選んでEnter aaa bbb ccc dddd ee > dddd "dddd"
2023年10月30日(月) 11:35 konami via ruby-list <ruby-list@ml.ruby-lang.org <mailto:ruby-list@ml.ruby-lang.org <mailto:ruby-list@ml.ruby-lang.org>>>:
小川さん
レポートをありがとうございます。問題の切り分けができて助かります。
OSはどちらも Ubuntu 22.04.3 LTS ですので謎が深まりますが, 仕事が詰まっていますので,時間ができたら調べてみることにします。
小波秀雄
On 2023/10/30 11:00, OGAWA KenIchi via ruby-list wrote: > 小川と申します。 > >> Ruby 2.7 と 3.0 の仕様変更でこうなっているのかどうか。2.7 >> でできたことを3.0で可能にする方法 >> がないのかと気になっています。ご存知の方がおられたら教えていただ けるとうれしいです。 > 私の手元の環境では、Rubyの3.0.2を使って示されていたコードが正しく 動作し > ました。なので、仕様変更というわけではないと思います。 > > 原因はわかりませんが、システムの libreadline.so に問題がある可能 性はある > のかなと思いました。 >
-- ---- Yasuhiro ABE e-mail: yasu@yasundial.org, yadiary@gmail.com twitter: http://twitter.com/YasuhiroABE