Rails 控制台覆盖`~/.irbrc`

问题描述 投票:0回答:2

我的

~/.irbrc
文件中有以下内容:

require 'irb'
require 'rubygems'
require 'awesome_print'

AwesomePrint.irb!

IRB.conf[:USE_AUTOCOMPLETE] = false
IRB.conf[:ECHO_ON_ASSIGNMENT] = true
IRB.conf[:USE_MULTILINE] = false

# Add color coding based on Rails environment for safety

if defined? Rails
  banner = if Rails.env.production?
             "\e[41;97;1m #{Rails.env} \e[0m "
           else
             "\e[42;97;1m #{Rails.env} \e[0m "
           end

  # Build a custom prompt
  IRB.conf[:PROMPT][:CUSTOM] = IRB.conf[:PROMPT][:DEFAULT].merge(
    PROMPT_I: banner + IRB.conf[:PROMPT][:DEFAULT][:PROMPT_I]
  )

  # Use custom prompt by default
  IRB.conf[:PROMPT_MODE] = :CUSTOM
end

在我的 Rails 应用程序目录中,如果我运行

irb
,那么文件的来源如禁用的
:USE_AUTOCOMPLETE = false
所示:

但是,当我运行

rails c
时,文件 似乎是有来源的;
:USE_AUTOCOMPLETE
已启用:

这是加载路径问题还是类似的问题?

更新 似乎正在获取文件,但可能被覆盖?当我在

~/.irbrc
文件中插入故意错误并执行
rails c
时,我收到错误:

❯ rails c
Loading development environment (Rails 7.0.3.1)
/Users/johnpitchko/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/irb-1.4.1/lib/irb/init.rb:336:in `load': /Users/johnpitchko/.irbrc:29: syntax error, unexpected end-of-input (SyntaxError)
ruby-on-rails irb ruby-on-rails-7
2个回答
1
投票

原来是

require awesome_print
线。我禁用了它,
AwesomePrint.irb!
,效果很好。

我的

amazing_print
里有
Gemfile
宝石。


0
投票

我遇到了一个问题,

rvm
ENV['IRBRC']
覆盖为
/home/me/.rvm/rubies/ruby-2.7.8/.irbrc
之类的内容。

~/.rvm/gems/ruby-2.7.8/environment
中有一行代码可以实现
export IRBRC=
。我把它删除了。

© www.soinside.com 2019 - 2024. All rights reserved.