activerecord gem显示在gem列表中,但在尝试加载时遇到文件未找到错误

时间:2018-05-16 20:18:16

标签: ruby activerecord rubygems

我想从大联盟棒球比赛日API中提取一些数据并使用ruby插入到本地MySQL数据库中。

我试图使用activerecord gem将数据插入MySQL数据库,但我无法加载activerecord gem。

我尝试在irb中加载activerecord gem但得到错误:

    irb(main):008:0> require 'activerecord'
Traceback (most recent call last):
        4: from /usr/bin/irb:11:in `<main>'
        3: from (irb):8
        2: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
        1: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
LoadError (cannot load such file -- activerecord)

起初我认为activerecord没有正确安装但是当我在终端中拉出gem列表时它确实显示出来了。

$ gem list

*** LOCAL GEMS ***

activemodel (5.2.0)
activerecord (5.2.0)
activesupport (5.2.0)
...

对可能出错的任何建议都非常感谢!

1 个答案:

答案 0 :(得分:1)

感谢this post以下解决方案:

试试这个:

require 'bundler/setup'
require 'active_record'

在尝试要求具有依赖关系的gem之前,您需要第一行来确保加载Bundler环境。

如果您查看activerecord的{​​{3}},则实际文件名为active_record.rb,这解释了第二行。