LoginSignup
1
0

More than 3 years have passed since last update.

rails gするとDid you mean? deprecate_constantとエラーがでる

Last updated at Posted at 2019-12-18

コントローラとビューを作成するためrails gすると下記のエラーが起きました。
備忘録としてまとめます。

エラー文抜粋

r.rb:28:in `<class:ScaffoldControllerGenerator>'
    10: from /Users/****/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/railties-5.0.7.2/lib/rails/generators/base.rb:168:in `hook_for'
     9: from /Users/****/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/railties-5.0.7.2/lib/rails/generators/base.rb:168:in `each'
     8: from /Users/****/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/railties-5.0.7.2/lib/rails/generators/base.rb:178:in `block in hook_for'
     7: from /Users/****/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/railties-5.0.7.2/lib/rails/generators/base.rb:202:in `class_option'
     6: from /Users/****/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/thor-1.0.0/lib/thor/base.rb:304:in `class_option'
     5: from /Users/****/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/thor-1.0.0/lib/thor/base.rb:582:in `build_option'
     4: from /Users/****/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/thor-1.0.0/lib/thor/base.rb:582:in `new'
     3: from /Users/****/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/thor-1.0.0/lib/thor/parser/option.rb:11:in `initialize'
     2: from /Users/****/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/thor-1.0.0/lib/thor/parser/argument.rb:24:in `initialize'
1: from /Users/****/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/thor-1.0.0/lib/thor/parser/option.rb:115:in `validate!'
/Users/****/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/thor-1.0.0/lib/thor/parser/option.rb:140:in `validate_default_type!': undefined method `deprecation_warning' for Thor:Class (NoMethodError)
Did you mean?  deprecate_constant

参考記事もなくて全く意味がわかりませんでしたが、
聞いたところGemfile.lockの下記の記載が原因らしいです。

Gemfile.lock
thor (1.0.0)

thor (1.0.0)はrails newをした時にデフォルトで作られるため、thorのバージョンを変更します。

Gemfileの最終行に下記を記載します。

Gemfile.
gem 'thor', '0.20.3'

bundle installするために一度Gemfile.lockを削除します。

削除できたらbundle installを実行します。

bundle install後、Gemfile.lockのthorが「thor (0.20.3)」となっていることを確認します。

Gemfile.lock
thor (0.20.3)

確認できたらrails gができるようになっているはずです。

細かい原因が分かってなくて恐縮ですが、以上となります。

1
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0