用于Rails :: Generator :: Base的未定义方法`write_inheritable_attribute':Class(NoMethodError)

vaj*_*vin 14 ruby-on-rails-3

我在rails上工作,突然rails服务器停止工作.它工作正常,我使用了以下命令[平台窗口7]

gem install -v=2.3.5 rails
Run Code Online (Sandbox Code Playgroud)

当我使用时rails s,它会给出以下错误:

c:/Ruby193/lib/ruby/gems/1.9.1/gems/rails-2.3.5/lib/rails_generator/options.rb:32:in `default_options': undefined method `write_inheritable_attribute' for Rails::Generator::Base:Class (NoMethodError)
    from c:/Ruby193/lib/ruby/gems/1.9.1/gems/rails-2.3.5/lib/rails_generator/base.rb:90:in `<class:Base>'
    from c:/Ruby193/lib/ruby/gems/1.9.1/gems/rails-2.3.5/lib/rails_generator/base.rb:85:in `<module:Generator>'
    from c:/Ruby193/lib/ruby/gems/1.9.1/gems/rails-2.3.5/lib/rails_generator/base.rb:48:in `<module:Rails>'
    from c:/Ruby193/lib/ruby/gems/1.9.1/gems/rails-2.3.5/lib/rails_generator/base.rb:6:in `<top (required)>'
    from c:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
    from c:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
    from c:/Ruby193/lib/ruby/gems/1.9.1/gems/rails-2.3.5/lib/rails_generator.rb:34:in `<top (required)>'
    from c:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
    from c:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
    from c:/Ruby193/lib/ruby/gems/1.9.1/gems/rails-2.3.5/bin/rails:14:in `<top (required)>'
    from c:/Ruby193/bin/rails:23:in `load'
    from c:/Ruby193/bin/rails:23:in `<main>'

$ rails -v
Rails 2.3.5
$ ruby -v
ruby 1.9.3p194 (2012-04-20) [i386-mingw32]
Run Code Online (Sandbox Code Playgroud)

Mic*_*eau 18

我有同样的问题,但这是因为有了gem rmagick.

我运行了以下内容:

gem uninstall rmagick 
gem cleanup 
Run Code Online (Sandbox Code Playgroud)

然后bundle在我的堆栈中重新运行,它再次为我工作.


vaj*_*vin 8

我已经解决了这个问题.使用以下命令和问题消失了

 gem install rails
Run Code Online (Sandbox Code Playgroud)

这将安装更新的rails并重新找到所有工作.


Jer*_* F. 7

跑步bundle exec rails s对我有用.

我的项目使用的是Rails 3.x但是当我运行时,rails -v我得到的2.3.17是我之前工作过的项目使用的版本.以某种方式安装此版本必须设置为"默认".

有人可以解释一下吗?