Aar*_*ron 12 ruby ruby-on-rails irb readline pry
当我运行rails c
并在irb启动时按下向上键时,我可以看到我在遇到debugger
ruby-debug gem命令后我的应用程序掉到irb时输入的最后一个命令.我不仅希望清除这些命令,而且如果我将rails c
在上一次rails控制台会话期间发出最后一个命令,我希望它能够完成.我认为它曾经这样做,但我不确定发生了什么变化.如果有帮助的话,我在Mac OS 10.6.5上使用ruby 1.8.7和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问题的回答:"为什么撬历史会阻止历史?" .我已经为Pry包含了已知Github问题的链接以及我尝试修复它.
我将您的问题解释为询问如何在Rails控制台中打开历史记录并在Ruby调试器中关闭.如果不是这样,请澄清.
IRB,以及Rails控制台,从中读取~/.irbrc
,或者如果不存在,则/etc/irbrc
启动并配置irb.您的历史记录通常是写入的~/.irb_history
,但这取决于您的irbrc
文件内容.在 /etc/irbrc
我的Mac OS X被设置成写从IRB的历史,所以也许你已经创建了一个地方.irbrc
不具备的历史,或者你在那个文件中有语法错误.
调试器读取.rdebugrc
启动时调用的文件.您可以通过将此行添加到以下内容来关闭调试历史记录~/.rdebugrc
:
set history save off
Run Code Online (Sandbox Code Playgroud)
将其重新打开:
set history save on
Run Code Online (Sandbox Code Playgroud)
您还可以将调试输出设置为使用以下命令转到与irb读取不同的文件:
set history filename
Run Code Online (Sandbox Code Playgroud)
这些也可以从调试提示符开始,但不是持久的.