13

rails cirb の起動時に実行して上キーを押すdebuggerと、ruby-debug gem のコマンドに遭遇した後、アプリが irb にドロップされたときに入力した最後のコマンドが表示されます。これらのコマンドを消去したいだけでなくrails c、最後の Rails コンソール セッション中に発行した最後のコマンドをプルしたいと考えています。以前はそうしていたと思いますが、何が変わったのかわかりません。それが役立つ場合、私はMac OS 10.6.5でruby 1.8.7とrails 3.0.3を使用しています。

アップデート

レイ答えは、暫定的に私を助けてくれました。最近、私はもう少し掘り下げて詳細を調べ、多くの矛盾する問題があることに気付きました。

IRB は、Ray が述べたように、持っているかどうかをチェックし~/.irbrc、そうでない場合はフォールバックします。/etc/irbrcただし、使用している場合rvmは、別のファイルが~/.rvm/scripts/irbrcロードされることを考慮する必要があります( に~/.rvm/scripts/irbrc.rb注意して.rbくださいrvm_path) 。ENVrvm

興味深いことに~/.rvm/scripts/irbrc.rb/etc/irbrcそれらは同じではなく、いくつかの点で異なります。システムでどちらが使用されているかを検出する最も明白で簡単な方法は、履歴ファイルの名前です。が使用されている場合/etc/irbrc、履歴ファイルはそのままの~/.irb_history場所になります(: vs )。rvm~/.irb-history_-

この追加情報が、希望どおりにシステムをセットアップするために何が必要かを判断するのに役立つことを願っています。

こじ開けの懸念

それ以来、私は使用をやめ、 gemを含むdebuggerものに移動しました。Pry は IRB の代替ですが、IRB と一緒に使用したり、IRB 内で使用したりすることもできます。上記の更新を提供できたのは、それぞれの履歴を別々に保持する方法を見つけようとしていたためです. 詳細については、SO の質問に対する私の回答を参照してください. Pry の既知の Github の問題と、それを修正するための試みへのリンクをそこに含めました。pry-byebugpry

4

3 に答える 3

9

あなたの質問は、Rails コンソールで履歴をオンにし、Ruby デバッガーで履歴をオフにする方法を尋ねていると解釈します。これが正しくない場合は、明確にしてください。

IRB、ひいては Rails Console を から読み取る~/.irbrcか、それが存在しない場合はから読み取り、 /etc/irbrcirb を起動して構成します。通常、履歴は に書き込まれ~/.irb_historyますが、これはファイルの内容によって決まりirbrcます。私の /etc/irbrcMac OS X では、irb から履歴を書き込むように設定されているため、履歴の.irbrcないローカルを作成したか、そのファイルに構文エラーがある可能性があります。

デバッガーは.rdebugrc、起動時に呼び出されるファイルを読み取ります。次の行を に追加すると、デバッグで履歴をオフにできます~/.rdebugrc

set history save off

次のコマンドでオンに戻します。

set history save on

次のコマンドを使用して、irb が読み取るファイルとは別のファイルにデバッグ出力を出力するように設定することもできます。

set history filename

これらはデバッグ プロンプトからも機能しますが、永続的ではありません。

于 2011-06-29T07:53:35.967 に答える