2011-11-29 92 views
0

我尝试通过执行以下命令来创建一个独立的迁移文件:产生迁移错误

rails generate migration LoadData 

但我得到了以下错误:

PATH-TO/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:55: uninitialized constant ActiveSupport::Dependencies::Mutex (NameError) 

PATH-TO/.rvm/rubies/ree-1.8.7-2011.03/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:55:in `gem_original_require' 
... 

我使用的Rails V2.3红宝石企业版。为什么我得到这个错误,如何摆脱它?

回答

0

这是某些版本的Rails 2.3.xx和最近版本的RubyGems之间的不兼容。我得到了Rails 2.3.4的这个错误,然后使用了更新版本的Rails 2.3.11来摆脱这个错误。

如果无法更新Rails版本,那么在你的RakeFile中添加一开始。

require "thread" 

降级RubyGems版本也将有所帮助。 Afaik Rubygems 1.3.5版与Rails 2.3.4和2.3.5兼容。

希望这会有所帮助。

+0

我在我的rake文件中有'线程' – Mellon

+0

是否可以尝试更新版本的Rails 2.3?或降级rubygems?前者听起来更安全。 –

+0

好吧,我明白了,尽管我无法更改Rails版本,但我明白了你的观点,我使用的是旧的Rails v2.3.2。无论如何,我会接受你的答案,并尝试找出一个解决方案的迁移。谢谢。 – Mellon