irb で履歴を使いたい!(カーソルキーが使えない)

 

Rubyのirbで、上キーで履歴が出せるものと出せないものがあったので少し調べてみました。

出る方。

[takeken@localhost]$ irb
irb(main):001:0> p 'hoge'
"hoge"
=> "hoge"
irb(main):002:0> p 'hoge'

出ない方。

[takeken@centos]$ irb
irb(main):001:0> p 'hoge'
"hoge"
=> "hoge"
irb(main):002:0> ^[[A

readline どちらにもインストールされてました。

[takeken@centos]$ rpm -q readline
readline-6.0-4.el6.x86_64

[takeken@localhost]$ rpm -q readline
readline-6.0-4.el6.x86_64

調べてみるとreadline-develが必要な模様。

[takeken@centos]$ rpm -q readline-devel
パッケージ readline-devel はインストールされていません。

[takeken@localhost]$ rpm -q readline-devel
readline-devel-6.0-4.el6.x86_64

インストールします。こちらはSLですが、別のディストリでも標準のリポジトリで大丈夫だと思います。

[takeken@centos]$ sudo yum install readline-devel

======================================================================================================================================================
 パッケージ                                アーキテクチャ                    バージョン                           リポジトリー                   容量
======================================================================================================================================================
インストールしています:
 readline-devel                            x86_64                            6.0-4.el6                            sl                            133 k

トランザクションの要約
======================================================================================================================================================
インストール         1 パッケージ

これだけでは改善しません。

irb(main):001:0> p 'hoge'
"hoge"
=> "hoge"
irb(main):002:0> ^[[A

該当するRubyのバージョンを再インストールします。

[takeken@centos]$ ruby -v
ruby 2.1.5p273 (2014-11-13 revision 48405) [x86_64-linux]
[takeken@centos]$ rbenv install 2.1.5
rbenv: /home/takeken/.rbenv/versions/2.1.5 already exists
continue with installation? (y/N) y
Downloading ruby-2.1.5.tar.gz...

トゥットゥルー m9(・∀・)ー! カーソルキーで履歴が見れました。

[takeken@centos]$ irb
irb(main):001:0> p 'hoge'
"hoge"
=> "hoge"
irb(main):002:0> p 'hoge'

ヒストリーのバッファをどのくらいにするかとか、どのモジュールをロードしておくとかも出来るそうなのですが、他にも色々と設定をしたい場合は/.irbrcで可能とのことでした。

 

Similar Posts:


Leave a Reply

Your email address will not be published. Required fields are marked *