我的
~/.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)
原来是
require awesome_print
线。我禁用了它,AwesomePrint.irb!
,效果很好。
我的
amazing_print
里有 Gemfile
宝石。
我遇到了一个问题,
rvm
将ENV['IRBRC']
覆盖为/home/me/.rvm/rubies/ruby-2.7.8/.irbrc
之类的内容。
~/.rvm/gems/ruby-2.7.8/environment
中有一行代码可以实现export IRBRC=
。我把它删除了。