【问题标题】:~/.irbrc not executed when starting irb or script/console~/.irbrc 在启动 irb 或脚本/控制台时未执行
【发布时间】:2011-02-11 20:10:17
【问题描述】:

这是我尝试过的:

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

结果:

NameError: 未定义的局部变量或方法 `ap' for #

【问题讨论】:

    标签: ruby-on-rails ruby bash irb rails-console


    【解决方案1】:

    在我的 ~/.irbrc 文件中添加“require 'rubygems'”似乎可以解决问题。

    【讨论】:

      【解决方案2】:

      在我的情况下,它是“如果您的 ~/.irbrc 无效,它将失败 默默地。”——来自谷歌搜索 - 发现并修复了 ~/.irbrc 中的错误,一切正常

      【讨论】:

      • 遇到了同样的问题。特别是,如果顶部有任何require 语句,并且由于捆绑程序环境而无法正常工作,则整个 .irbrc 将被静默忽略。解决方案:begin / rescue Exception / end 阻止所有可能失败的内容。
      【解决方案3】:

      你需要像 jdeseno 写的那样添加require 'rubygems'

      如果您在 Rails3 上并使用 Bundler,您还需要在 Gemfile 中(在 :development 组中)指定 'awesome_print' gem 才能工作。

      【讨论】:

        【解决方案4】:

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

        【讨论】:

        • 是的,这无疑帮助我调试了我的情况并进行了修复。 (我只是感到困惑的是,当宝石丢失时,IRB 在加载 irb 时没有抱怨。)
        【解决方案5】:

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

        基于~/.irbrc一定是无效的建议,我将我的减少为单个puts "hi",虽然我运行irb时输出,但运行rails console时没有。

        我终于注意到提示符是pry(main)。原来这个 Rails 项目是用pry-rails gem 设置的,所以这就是控制台使用的。自定义 .pryrc 就可以了。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2015-05-11
          • 2011-03-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-12-11
          • 2016-08-09
          相关资源
          最近更新 更多