我可以让Ruby on Rails控制台记住我的命令历史吗,嗯,更好吗?


71

我在Ruby on Rails 3.1.1中使用控制台,并且发现其命令历史记录(向上箭头)确实很不稳定。我已经运行的命令p = Product.by_name 'Acme'p.add_search_term('Snipe')今天好几次,在多个控制台会话。

但是,当我重新加载Ruby on Rails控制台时,命令历史记录中仅显示第一个,而不显示第二个。有时,在我重新加载控制台后,它们都在历史记录中。最重要的是,我仅在几次按下向上箭头后看到了几天前的命令。是否需要更改某种配置,或者这是一个错误?

  • Ruby on Rails 3.1.1`
  • Ruby 1.9.2p290`
  • Ubuntu 11.10`

1
难道只有多个控制台有问题吗?那肯定会导致意外的历史。
安德鲁·马歇尔

@AndrewMarshall不,它总是一个开发控制台,我打开在同一窗口中使用相同的shell脚本
jcollum

是特定于Rails的问题,还是在普通的irb上遇到了相同的问题?无轨相关问题:stackoverflow.com/questions/2065923/irb-history-not-working
Ciro Santilli郝海东冠状病六四事件法轮功

很久以前的Ciro。我没有这个设置了,我也不再在Rails中工作了。我不能回答你的问题。
jcollum 2014年

1
另请参阅stackoverflow.com/questions/37847822/…,其中讨论了必须如何遵守红宝石readline
Jared Beck '18

Answers:


156

从操作方法–退出后坚持使用Rails或IRB控制台命令历史记录

创建或编辑~/.irbrc文件以包括:

require 'irb/ext/save-history'
IRB.conf[:SAVE_HISTORY] = 200
IRB.conf[:HISTORY_FILE] = "#{ENV['HOME']}/.irb-history"

7
我希望您将解决方案(其中的所有3行)放在答案的主体中,以防链接消失。
Ovesh

7
请注意,RVM具有一个内置的irbrc,它为我们添加了历史记录:这就是为什么它在我的本地计算机上可以运行,但是即使没有,也不能在服务器上运行~/.irbrc
西罗Santilli郝海东冠状病六四事件法轮功

另外,请确保您安装了Readline。看到这个帖子:stackoverflow.com/questions/37847822/…–
瑞安·弗朗西斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.