【发布时间】:2011-10-13 03:52:16
【问题描述】:
我有一个使用 Rails 2.3.4 的应用程序,我正在尝试运行它。无论我如何启动它,通过使用 script/console 或 script/ferret_server,它总是归结为相同的错误:
未初始化的常量 Gem
当我在网上搜索时,我只发现有类似问题的人在 Gem 类中找到了一些东西。但就我而言,Gem 根本不存在。
我在 Ubuntu 上运行 Ruby。我尝试使用 APT 附带的 Ruby 版本和 RVM 的更新版本。没有任何帮助。
知道是什么原因造成的以及如何解决吗?提前致谢!
根据评论者的要求提供一些额外的细节:
ruby -v 的输出:
ruby 1.8.7 (2011-02-18 patchlevel 334) [x86_64-linux], MBARI 0x6770, Ruby Enterprise Edition 2011.03
gem -v 的输出:
1.8.6
调用ruby script/console 会输出类似的错误(已编辑):
我正在尝试调用 Ferret 服务器以允许乘客连接到它,使用以下命令:
ruby --debug script/ferret_server -e production start
输出以下错误:
./script/../vendor/plugins/acts_as_ferret/lib/../../../../config/environment.rb:12 处的异常 `NameError' - 未初始化的常量 Gem 未初始化的常量 Gem或者,调用bundle exec ruby --debug script/ferret_server -e production start 会输出以下错误:
superclass mismatch for class GemDependency
请注意,我在config/environment.rb 的Rails::Initializer.run do |config| 行上方添加了以下内容:
删除上面提到的行会产生uninitialized constant Rails 错误。
【问题讨论】:
-
我认为如果您在启动脚本/控制台时添加完整的错误消息,人们会更容易帮助您。
-
请包含
ruby -v、gem -v和script/console的输出 -
感谢您的关注。我在原始帖子中添加了更多详细信息。
-
environment.rb中的第 12 行是什么?
标签: ruby-on-rails ruby rvm