14

私はレールに取り組んでいますが、突然レールサーバーが機能しなくなりました。正常に動作しており、次のコマンドを使用しました [プラットフォーム Windows 7]

gem install -v=2.3.5 rails

を使用する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]
4

6 に答える 6

18

私も同じ問題を抱えていましたが、それはgem rmagick

私は以下を実行しました:

gem uninstall rmagick 
gem cleanup 

そしてbundle、スタックで再実行すると、再び機能しました。

于 2012-10-02T06:09:07.517 に答える
8

私はこの問題を解決しました。次のコマンドを使用すると、問題が発生します

 gem install rails

これにより、更新されたレールがインストールされ、動作しているすべてのものが再び検出されます。

于 2012-06-18T07:53:04.453 に答える
7

ランニングbundle exec rails sは私のために働いた。

私のプロジェクトはRails 3.xを使用していましたが、実行すると、直前に作業したプロジェクトで使用されていたバージョンrails -vが得られました。2.3.17どういうわけか、このバージョンのインストールは「デフォルト」として設定されている必要があります。

誰かがこれを説明できますか?

于 2013-12-12T08:34:35.350 に答える
1

この問題があり、rvm で間違った ruby​​ と gemset を使用していたことがありました。

于 2013-04-13T22:17:07.333 に答える