为什么我的irb历史不再保存?
答案 0 :(得分:3)
事实证明,ruby 1.8.7引入了一个错误,不再保证终结器能够运行。
要解决此问题,我将以下代码段添加到我的.irbrc文件中:
require 'irb/ext/save-history'
Kernel.at_exit do
IRB::HistorySavingAbility.create_finalizer.call(IRB.CurrentContext.instance_variable_get(:@io).send(:binding))
end
答案 1 :(得分:0)
我也遇到了红宝石2.3.7。这是由于rvm ruby软件包没有正确的权限来更新默认的.irbrc_history文件。这似乎是known bug。
一个简单的解决方法是仅更改此历史记录文件在您的~/.irbrc
文件中的位置。
IRB.conf[:HISTORY_FILE] = "#{ENV['HOME']}/.irb_history"