系统范围内的Ruby irbrc_history。如何使其成为本地?
我在Ubuntu上安装了ruby,供系统使用。 .irbrc_history
文件是在系统目录中创建的,而不是在用户的主目录中创建的。当文件被其他人拥有时,这会导致访问错误。这里的除了一堆错误的更多,我认为是无关紧要的:系统范围内的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
文件,但无济于事。
正在执行的影响此历史文件的初始化文件的顺序是什么?我如何更改历史文件的位置?
在您的主目录创建文件:touch ~/.irbrc_history
。
或从系统路径把它复制到你的主目录:cp /path/of/system/.irbrc_history ~/.irbrc_history
请注意,你应该改变/path/of/system/
,无论你有你的系统上。
一旦该文件是在您的家目录(~
给出),那么它就会在你的用户运行irb
由于某些原因,这并不能解决问题,也不能删除系统范围的问题。使用较新版本的RVM仍然会出现相同的错误。 – tadman
你碰巧使用RVM运行?
RVM 1.29.3(当前的稳定)具有这样IRB历史被保存在RUBY_HOME
,而不是HOME
的错误。
https://github.com/rvm/rvm/issues/4158
这里有一个修复:
rvm get head
rvm reinstall 2.4.1
创建或编辑你的〜/ .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
你找到一个修好了吗?我也有同样的问题。 – kenn