【发布时间】:2009-11-17 22:55:40
【问题描述】:
为什么我的 irb 历史不再保存?
【问题讨论】:
为什么我的 irb 历史不再保存?
【问题讨论】:
事实证明,ruby 1.8.7 引入了一个错误,不再保证终结器运行。
为了解决这个问题,我将以下代码 sn-p 添加到我的 .irbrc 文件中:
require 'irb/ext/save-history'
Kernel.at_exit do
IRB::HistorySavingAbility.create_finalizer.call(IRB.CurrentContext.instance_variable_get(:@io).send(:binding))
end
【讨论】:
我在 ruby 2.3.7 中也遇到了这个问题。这是由于 rvm ruby 包没有正确的权限来更新默认的 .irbrc_history 文件。这似乎是known bug。
一个简单的解决方法是在您的~/.irbrc 文件中更改此历史文件的位置。
IRB.conf[:HISTORY_FILE] = "#{ENV['HOME']}/.irb_history"
【讨论】: