【问题标题】:Cannot load gem installed using bundler in rails console无法在 Rails 控制台中加载使用捆绑程序安装的 gem
【发布时间】:2026-01-10 01:00:02
【问题描述】:

我正在尝试安装最新版本的Globalize gem - 唯一与 Rails 5 兼容的版本。为此,我必须从 Github 安装它。所以我按照自述文件的建议在 Gemfile 中添加了以下行:

gem 'globalize', git: 'https://github.com/globalize/globalize'

bundle install 命令执行流畅。但是,globalize gem 没有显示在 gem list 中(我认为从 Github 安装的所有 gem 也没有显示)但显示在 bundle list 中。

当我运行bundle exec irb 时,require 'globalize' 工作正常。但它在rails console 中不起作用。为什么?如何使 gem 可用于 rails?

> rails c
2.4.0 :001 > require 'globalize'
LoadError: cannot load such file -- globalize
    from (irb):1

> gem env:
RubyGems Environment:
  - RUBYGEMS VERSION: 2.6.12
  - RUBY VERSION: 2.4.0 (2016-12-24 patchlevel 0) [x86_64-darwin16]
  - INSTALLATION DIRECTORY: /Users/wael/.rvm/gems/ruby-2.4.0@rails5
  - USER INSTALLATION DIRECTORY: /Users/wael/.gem/ruby/2.4.0
  - RUBY EXECUTABLE: /Users/wael/.rvm/rubies/ruby-2.4.0/bin/ruby
  - EXECUTABLE DIRECTORY: /Users/wael/.rvm/gems/ruby-2.4.0@rails5/bin
  - SPEC CACHE DIRECTORY: /Users/wael/.gem/specs
  - SYSTEM CONFIGURATION DIRECTORY: /Users/wael/.rvm/rubies/ruby-2.4.0/etc
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-darwin-16
  - GEM PATHS:
     - /Users/wael/.rvm/gems/ruby-2.4.0@rails5
     - /Users/wael/.rvm/gems/ruby-2.4.0@global
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - https://rubygems.org/
  - SHELL PATH:
     - /Users/wael/.rvm/gems/ruby-2.4.0@rails5/bin
     - /Users/wael/.rvm/gems/ruby-2.4.0@global/bin
     - /Users/wael/.rvm/rubies/ruby-2.4.0/bin
     - /Users/wael/.rvm/bin
....

rvm 版本是 1.29.2。 我在 /Users/wael/.rvm/gems/ruby-2.4.0@rails5 中找不到 globalize gem。


更新:

> rvm gemset list
gemsets for ruby-2.4.0 (found in /Users/wael/.rvm/gems/ruby-2.4.0)
   (default)
   global
=> rails5

【问题讨论】:

  • 尝试将“require 'globalize'”添加到config/application.rb
  • @wael34218:根据文档,您也必须安装activemodel-serializers-xml。请参考这个文档。 github.com/globalize/globalize#installation
  • @wael34218:好的。我的机器上有相同的配置。 rvm 1.29.11 and ruby-2.4.0。我可以在控制台中要求全球化 gem。奇怪的。再次尝试删除 Gemfile.lock 和 bundle install
  • @wael34218:为 rails5 创建了新的 gemset。然后使用gem install rails -v '5.0.2' then rvm gemset use rails5(name of gemset)bundle install 安装rails 5。
  • @AjayBarot 我创建了新的 gemset 和新的 Rails 项目,只在 Gemfile 中添加了 globalize 行。它在 5.1.2 和 5.0.2 上运行良好,需要命令按预期加载库。由于我刚刚开始这个项目,我认为我只是在新项目的基础上建立起来。感谢您的帮助!

标签: ruby-on-rails rubygems rvm bundler globalize


【解决方案1】:

我发现这可以为我解决问题:

> bundle exec rails console

【讨论】: