当我跑步时 rails c 并在IRB启动时按UP键,我可以看到我的应用程序在遇到A后掉落到IRB时输入的最后命令 debugger 红宝石浸泡宝石的命令。我不仅想清除这些命令,而且我想要 rails c 会拉上我在上次Rails控制台会议期间发出的最后命令。我认为它曾经这样做,但我不确定发生了什么变化。我在Ruby 1.8.7上,如果有帮助,Mac OS 10.6.5上的Rails 3.0.3。

更新

射线' 回答 在此期间帮助我。最近,我做了更多的挖掘以了解更多信息,并意识到存在许多冲突的问题。

IRB检查您是否有 ~/.irbrc 如果没有, /etc/irbrc 正如雷提到的那样。但是,如果您正在使用 rvm 还有另一个文件要考虑 ~/.rvm/scripts/irbrc 只是加载 ~/.rvm/scripts/irbrc.rb (注意 .rb) 如果你有 rvm_path 放在你的 ENV (如果使用 rvm).

有趣的是 ~/.rvm/scripts/irbrc.rb 是基于 /etc/irbrc 它们不一样,并且在几种方面有所不同。最明显的方法和最简单的方法是在系统上使用哪种方法是其历史文件的名称。如果 /etc/irbrc 正在使用您的历史记录文件 ~/.irb_history 然而 rvm~/.irb-history (笔记: _ vs -).

希望这些其他信息将帮助您确定根据需要设置系统所需的内容。

撬开关注

从那以后我停止使用 debugger 并已搬到 pry-byebug 其中包括 pry 宝石。 pry是IRB的替代品,但也可以在侧面和内部使用。我之所以能够提供上述更新的原因是因为我试图弄清楚如何使他们的各自历史分开。有关更多信息,请参阅 我的答案 关于SO问题 “为什么撬历史记录了IRB的历史?”. 。我在那里包括了与pry的已知GitHub问题的链接,以及我尝试修复它的尝试。

有帮助吗?

解决方案

我将您解释为询问如何在Rails控制台上打开历史,并在Ruby调试器中关闭。如果不是真的,请澄清。

irb,并扩展,轨道控制台,从 ~/.irbrc, ,或者如果不存在, /etc/irbrc, ,启动和配置IRB。您的历史通常写给 ~/.irb_history, ,但这取决于您的内容 irbrc 文件。这 /etc/irbrc 在我的Mac OS X上设置了以写入IRB的历史记录,所以也许您已经创建了一个本地 .irbrc 那没有历史记录,或者您在该文件中有语法错误。

调试器读取一个名为的文件 .rdebugrc 在启动时。您可以通过将此行添加到 ~/.rdebugrc:

set history save off

将其重新打开:

set history save on

您还可以将调试输出设置为与IRB在命令中读取不同的文件:

set history filename

这些也可以从调试提示中起作用,但并不持久。

其他提示

有许多工具可以帮助改善IRB体验。 纽带赫布 很有希望。

这是 IRB工具的全面清单一些技巧 直接编辑.IRBRC文件。

希望这个帮助!

虽然我是一个非常古老的问题,但我在这里得到了Google。事实证明,随着时间的推移,RVM略有变化。目前,我的IRB历史记录(使用RVM)在此处存储:

user@host:~$ ls ~/.rvm/rubies/ruby-2.4.2/.irbrc*
/home/user/.rvm/rubies/ruby-2.4.2/.irbrc
/home/user/.rvm/rubies/ruby-2.4.2/.irbrc_history
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top