Techioz Blog

Ruby irbrc_history システム全体。ローカルにするにはどうすればいいですか?

概要

システム全体で使用するために、Ubuntu に Ruby をインストールしました。 .irbrc_history ファイルは、ユーザーのホーム ディレクトリではなくシステム ディレクトリに作成されます。ファイルが他の人によって所有されている場合、これによりアクセス エラーが発生します。これは、無関係だと思われるさらに多くのエラーの他に、次のとおりです。

irb
/usr/local/rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/irb/ext/save-history.rb:75:in `initialize': Permission denied @ rb_sysopen - /usr/local/rvm/rubies/ruby-2.4.1/.irbrc_history (Errno::EACCES)

履歴ファイルを削除するとエラーが解決します。

システムの .irbrc ファイルと思われるファイルに環境変数と履歴の初期化コードを追加しようとしましたが、役に立ちませんでした。

この履歴ファイルに影響を与える、実行される初期化ファイルの順序は何ですか?履歴ファイルの場所を変更するにはどうすればよいですか?

解決策

~/.irbrc ファイルを作成または編集して、以下を含めます。

require 'irb/ext/save-history'
IRB.conf[:SAVE_HISTORY] = 200
IRB.conf[:HISTORY_FILE] = "#{ENV['HOME']}/.irb-history"

出典: 終了後に Rails または IRB コンソールのコマンド履歴を保持する方法