【发布时间】: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