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

activerecord gem shows up in gem list but get file not found error when trying to load

我想从美国职业棒球大联盟比赛日 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)
...

非常感谢任何关于可能错误的建议!

以下解决方案归功于

试试这个:

require 'bundler/setup'
require 'active_record'

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

如果您查看 activerecordGithub repo,实际文件名是 active_record.rb,这解释了第二行。