【发布时间】:2018-10-15 21:40:40
【问题描述】:
我想在我的 IRB 会话中加载 ActiveRecord gem,但以下操作不起作用:
require 'activerecord'
2.4.1 :004 > require 'activerecord'
LoadError: cannot load such file -- activerecord
from /Users/robskrob/.rvm/rubies/ruby-2.4.1/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /Users/robskrob/.rvm/rubies/ruby-2.4.1/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from (irb):4
from /Users/robskrob/.rvm/rubies/ruby-2.4.1/bin/irb:11:in `<main>'
这个也不是:
2.4.1 :018 > require 'activerecord-5.1.2'
LoadError: cannot load such file -- activerecord-5.1.2
from /Users/robskrob/.rvm/rubies/ruby-2.4.1/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:120:in `require'
from /Users/robskrob/.rvm/rubies/ruby-2.4.1/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:120:in `require'
from (irb):18
from /Users/robskrob/.rvm/rubies/ruby-2.4.1/bin/irb:11:in `<main>'
这是我在 irb 中的 Gem 路径:
2.4.1 :012 > Gem.path
=> [
"/Users/robskrob/.rvm/gems/ruby-2.4.1",
"/Users/robskrob/.rvm/gems/ruby-2.4.1@global
]
这是我的活跃记录宝石:
ls /Users/robskrob/.rvm/gems/ruby-2.4.1/gems/activere
activerecord-4.2.10/ activerecord-5.1.2/ activerecord-5.1.4/ activerecord-5.1.6/
activerecord-5.0.0.1/ activerecord-5.1.3/ activerecord-5.1.5/ activeresource-5.0.0/
如何将其中一个 ActiveRecord gem 加载到我的 IRB 会话中?
【问题讨论】:
-
你在使用Bundler吗?
-
@tadman 是的,我正在使用 bundler 安装 gems。
-
您也需要先
require 'bundler/setup',以确保在尝试要求任何 gem 依赖项之前加载您的 Bundler 环境。 -
如果您在启动 irb 后立即查看 $LOADED_FEATURES,您会看到已经加载了一些 RubyGems 代码。
-
bundler/setup部分是为了确保您使用的是Gemfile中指定的正确 ActiveRecord 版本,而不仅仅是碰巧安装的任何版本。
标签: ruby activerecord rubygems require irb