【问题标题】:Is there another location Rails is looking for my irbrc config?Rails 是否有其他位置正在寻找我的 irbrc 配置?
【发布时间】:2011-02-11 11:52:55
【问题描述】:

我的 .irbrc 位于我的 ~/.irbrc 中。

我注意到,当我在 Rails 3.x 应用程序上运行“rails 控制台”时,它说它正在寻找 gem。

Gems missing: no such file to load -- ap

但如果我只在 rails 2.x 应用程序上运行“irb”或“脚本/控制台”,一切都会正常运行。

Rails 3 是否在其他位置查找 irbrc 配置?

我不确定此信息是否适用,但我正在我的机器上运行 RVM (Ubuntu)

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-3 irb


    【解决方案1】:

    我刚刚想通了。我想我把它贴在这里给其他有同样问题的人。

    根据http://matthewhutchinson.net/2010/9/19/rails-3-bash-aliases-and-irbrc-configs/page/2

    您需要将系统 gem 添加到用于 Rails 3 应用程序的 Gemfile 中(Bundler 问题)。

    我做了上面的,它有效。

    更新

    似乎https://gist.github.com/2643079 是我迄今为止找到的最优雅的解决方案。它也很好用。

    【讨论】:

    • 如果正确答案可以解决问题,请随意奖励自己。
    • 虽然将开发 gem 添加到 Gemfile 可以解决问题,但如果您作为团队的一员使用不同的环境工作,那就不好了。不应强迫它们使用您的开发 gem,并且在某些情况下(尤其是在 Windows 上),它们可能无法工作,并且在尝试安装 gem 时可能会导致错误。如果你自己做这个,或者你们都使用相同的工具,那很好。但这是您应该注意的事情。
    • @idlefingers 您建议如何在团队环境中解决这个问题?
    • @david-c,正如我在回答中所说,目前还没有特别优雅的方法来处理这个问题。我个人解决它的方法是将我用于开发的几个 gem 解压缩到我的主目录中的一个文件夹中,然后使用完整路径要求它们。查看我链接到的 Github 票证以获取更多建议。我想最适合您的选择取决于您需要多少宝石以及它们的作用。
    • 备案:'ap' 指的是 Awesome Print gem。
    【解决方案2】:

    这是因为 bundler 和禁用系统 gems 的方式。有很多建议的方法来处理这个问题,但没有一个是完美的(有关一些建议,请参阅 bundler 上的 this ticket)。

    【讨论】:

    • "这是因为 bundler 并且方法是禁用系统 gem"。部分是因为这个,部分是因为 Rails 搭载 IRB 以提供其控制台,同时还使用捆绑器来管理捕获 Rails 应用程序使用的 gem,以便它们作为一个单元。对于我们这些同时编写 Rails 和非 Rails Ruby 应用程序并经常使用 IRB 的人来说,Rails 需要更具凝聚力和更少干扰的东西。这会时不时地抓住我,我不得不停下来思考“发生了什么事?!”
    • @the-tin-man,我不同意。 OP 描述的问题纯粹是因为捆绑器。这就是为什么他将他的开发宝石添加到 Gemfile 为他修复了它。 rails 控制台的工作方式基本上只是加载 rails env 并启动 irb。这是可能侵入性最小的方式,并且不会影响 irb 的工作方式 - 它只是添加了一堆东西。请参阅 herehere 了解它的作用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-31
    • 2017-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多