Ruby irbrc_history系统范围,如何使其本地化?

qgzx9mmu  于 12个月前  发布在  Ruby
关注(0)|答案(3)|浏览(132)

我在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文件的文件中添加环境变量和历史初始化代码,但没有用。
影响此历史文件的初始化文件的执行顺序是什么?如何更改历史文件的位置?

9lowa7mx

9lowa7mx1#

创建或编辑您的~/.irbrc文件以包括:

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

来源:How To Persist Rails or IRB Console Command History After Exit

eiee3dmh

eiee3dmh2#

你会使用RVM吗?
rvm 1.29.3(当前稳定)有一个错误,IRB历史保存在RUBY_HOME中,而不是HOME中。
https://github.com/rvm/rvm/issues/4158
这里有一个解决方案:

rvm get head
rvm reinstall 2.4.1
tjvv9vkg

tjvv9vkg3#

在主目录中创建文件:touch ~/.irbrc_history
或者将其从系统路径复制到您的主目录:cp /path/of/system/.irbrc_history ~/.irbrc_history
请注意,您应该将/path/of/system/更改为系统上的任何内容。
一旦该文件位于您的主目录(由~指定)中,它将在您的用户运行irb时运行

相关问题