【问题标题】:Cannot load Gmail gem in console/app, but can in irb无法在控制台/应用程序中加载 Gmail gem,但可以在 irb 中加载
【发布时间】:2013-08-04 19:56:54
【问题描述】:

我在这里感到困惑。虽然我可以在 irb 中运行 require "gmail" 并成功加载 Gmail gem,但在我的 rails 控制台中这样做会返回 false。我确保将 $LOAD_PATH 中的所有目录包含在我的控制台的 $LOAD_PATH 中的 irb 中,但仍然无法将 gem 加载到我的控制台中。

可能是 gmail gem 与我安装的另一个 gem 冲突,但我不知道如何确认。似乎其他人也有类似的问题:

Why is autoload failing to load files for gems Ruby autoload conflicts between gmail and parse_resource gems Rails: Using ruby-gmail gem causes problems

我确保在我的 Gemfile 中包含“gem "gmail"' 并运行捆绑安装。还是没有运气!

卡在这里,非常感谢任何帮助。

【问题讨论】:

  • 可能刚刚解决了这个问题。我把'gem“gmail”'放在我的gem文件的顶部(以前在底部)

标签: ruby-on-rails gem gmail


【解决方案1】:

false 并不是说​​ gem 加载失败,而是说 gem 已经加载好了。

如果 Rails 控制台找不到您将获得 LoadError 的 gem。这是我的一个应用示例,它在 Gemfile 中有 gem 'haml'

1.9.2p320 :001 > require 'haml'
 => false 
1.9.2p320 :002 > require 'foo'
LoadError: no such file to load -- foo

查看此信息的另一种方法是在您的 irb 会话中第二次require 'gmail'

【讨论】:

    【解决方案2】:

    您必须将此行添加到您的Gemfile:

    gem 'gmail'
    

    这是因为您的应用程序加载的 gem 仅限于在 Gemfile 中指定的那些,以及它们的依赖项(以及依赖项的依赖项,等等)。

    【讨论】:

    • 我确保它在我的 gemfile 中。我的 gemfile 中的 gem 排序似乎存在问题(可能是 gem 之间的冲突)。
    猜你喜欢
    • 1970-01-01
    • 2011-05-06
    • 1970-01-01
    • 1970-01-01
    • 2013-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多