【问题标题】:Uninitialized constant ActiveSupport::Dependencies::Mutex (NameError) - How to resolve? [duplicate]未初始化的常量 ActiveSupport::Dependencies::Mutex (NameError) - 如何解决? [复制]
【发布时间】:2011-12-13 08:28:37
【问题描述】:

可能重复:
Uninitialized constant ActiveSupport::Dependencies::Mutex (NameError)

嘿,我在网上经常看到这个问题......有人成功地解决了这个问题吗?

我的应用是RAILS_GEM_VERSION = '2.3.5' unless defined? RAILS_GEM_VERSION

日志输出

/Users/tjs/.rvm/gems/ruby-1.8.7-p352@rails2/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:55: uninitialized constant ActiveSupport::Dependencies::Mutex (NameError)
from /Users/tjs/.rvm/rubies/ruby-1.8.7-p352/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:55:in `gem_original_require'
from /Users/tjs/.rvm/rubies/ruby-1.8.7-p352/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:55:in `require'
from /Users/tjs/.rvm/gems/ruby-1.8.7-p352@rails2/gems/activesupport-2.3.5/lib/active_support.rb:56
from /Users/tjs/.rvm/rubies/ruby-1.8.7-p352/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:55:in `gem_original_require'
from /Users/tjs/.rvm/rubies/ruby-1.8.7-p352/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:55:in `require'
from /Users/tjs/.rvm/gems/ruby-1.8.7-p352@rails2/gems/rails-2.3.5/lib/commands/server.rb:1
from /Users/tjs/.rvm/rubies/ruby-1.8.7-p352/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:55:in `gem_original_require'
from /Users/tjs/.rvm/rubies/ruby-1.8.7-p352/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:55:in `require'
from script/server:4

我尝试在 environment.rb、脚本/服务器和 rakefile 中要求线程,但这只会炸毁日志...

我有 rvm 使用 1.8.7,我认为它是兼容的。但是我对 rvm 还是比较陌生,所以不能完全确定我的工作是否正常。

我有 3 个运行 rails 2.x 的应用程序都存在这个问题。

【问题讨论】:

  • 另外,如果我运行 gem -v 它会显示 1.8.11,这可能意味着我使用 rvm 错误...
  • 我已经查看了该问题和答案,要求“线程”不起作用。我应该做一个 rvm install 1.5.3 吗?

标签: ruby-on-rails rubygems rvm


【解决方案1】:

http://ecmanaut.blogspot.com/2011/09/running-old-rails-238-with-rvm.html 按照这些步骤操作,应用程序再次运行。

感谢所有帖子

【讨论】:

    【解决方案2】:

    将“require 'thread'”语句添加到“boot.rb”文件中。

    require 'thread'
    require File.join(File.dirname(__FILE__), 'boot')
    

    【讨论】:

    • 我试过了,还是没有解决。
    【解决方案3】:

    您只需要使用 rbenv https://github.com/jamis/rbenv-gemset 或 rvm 使用新的 gemset 并安装这个 ruby​​gems-update 1.4.2

    gem install -v 1.4.2 rubygems-update
    gem update --system 1.4.2
    

    干杯

    【讨论】:

      【解决方案4】:

      另一个对我有用的解决方案是通过设置 env 来使用更高次要版本的 rails:

      export RAILS_GEM_VERSION=2.3.12
      

      【讨论】:

        猜你喜欢
        • 2011-07-07
        • 2011-07-30
        • 2011-07-09
        • 2012-01-21
        • 1970-01-01
        • 1970-01-01
        • 2022-11-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多