启动irb或脚本/控制台时不执行〜/ .irbrc

Pat*_*ann 7 ruby bash ruby-on-rails irb rails-console

这是我尝试过的:

1. gem install awesome_print
2. echo "require 'ap'" >> ~/.irbrc
3. chmod u+x ~/.irbrc
4. script/console
5. ap { :test => 'value' }
Run Code Online (Sandbox Code Playgroud)

结果:

NameError: undefined local variable or method `ap' for #

Sti*_*lev 15

要检查.irbrc中的内容是否失败,只需将.irbrc作为普通的Ruby脚本(ruby~/.irbrc)执行,Ruby将告诉您哪一行失败.它可能会抱怨缺少IRB模块,只需要脚本中的'irb'(测试时只需要这个,而不是在实际运行IRB时).

  • 是的,这绝对帮助我调试了我的情况并解决了问题。(我只是很困惑,当宝石丢失时,IRB 在加载 irb 时没有抱怨。) (2认同)

jde*_*eno 8

将"require'rubygems'"添加到我的〜/ .irbrc文件似乎可以解决问题.


rom*_*bob 6

在我的情况下,这是“如果您的〜/ .irbrc无效,它将无提示地失败。” -通过Google搜索-找到并修复了〜/ .irbrc中的错误,一切正常

  • 有同样的问题。特别是,如果顶部有任何`require`语句,并且由于捆绑程序环境而使它们无法工作,则整个.irbrc将被静默忽略。解决方案:`begin / resurance Exception / end`阻止所有可能失败的事物。 (2认同)

Nat*_*ong 6

您的Rails控制台可能正在使用Pry

根据~/.irbrc必须无效的建议,我将我的单位缩减为单一puts "hi",虽然我跑的时输出,但是当我跑的irb时候没有rails console.

我终于注意到提示是pry(main).事实证明,这个Rails项目是使用pry-railsgem 设置的,所以这就是控制台使用的.定制.pryrc就可以了.