我的 .irbrc 中有这些声明
IRB.conf[:SAVE_HISTORY] = nil
IRB.conf[:EVAL_HISTORY] = nil
但 irb 仍然创建历史文件。我还需要设置其他东西吗?
更新:根据要求,这是用于运行
irb
(路径缩短)的有效命令:
export IRBRC=/path/to/irbrc_for_testing.rb
java -Xmx4G -cp /path/to/org/jruby/jruby-complete/1.7.27/jruby-complete-1.7.27.jar org.jruby.Main /path/to/bin/jirb_swing_ex
文件 jruby-complete-1.7.27.jar 和 jirb_swing_ex 是从 JRuby 网站下载的。
文件
irbrc_for_testing.rb
包含 IRB.conf 设置。
默认情况下,
irb
将存储您在IRB.conf[:HISTORY_FILE]
中使用的最后1000条命令(默认为~/.irb_history)。
如果要禁用历史记录功能,请将
IRB.conf[:SAVE_HISTORY] = nil
添加到 .irbrc 文件中,并在 .irbrc 文件所在的同一目录中运行 irb
命令。
您可以在您的版本的 jruby 源代码中看到,即使在该版本的 irb 中也使用了这些配置值。问题一定在于它如何尝试加载您的配置文件。
您可以在同一文件的下方看到 irb 还查找环境变量来定位配置。尝试像这样运行它
IRBRC=/path/to/your/irbrc irb
我找到了解决方案:
我的 irb 设置文件(即配置
IRB.conf
的文件)在命令 load(user_irbrc)
最后执行,其中变量 user_irbrc
(在某些不幸的情况下)指向由 放置的某个 irbrc 设置文件rbenv
版本管理器(我之前用它来在 MRI rubies 之间切换)。看来这个 rbenv irbrc 负责将 IRB.conf[:SAVE_HISTORY]
恢复到 100 的值。
修复了不需要的
load
命令后,历史记录保存功能被关闭。